LINUX.ORG.RU

Сообщения Krivenok_Dmitry

 

Задержки кратные 5 секундам при обращении к DNS серверу.

Привет!

Периодически замечаю странные задержки в работе 
DNS-сервера моего провайдера (СПб, Авангард,212.48.193.37).

Вот результаты замера времени ответа:

me@home 22:13:20 ~ $ time dig +short www.google.ru
www.google.com.
www.l.google.com.
66.249.91.103
66.249.91.104
66.249.91.147
66.249.91.99

real	0m0.066s
user	0m0.000s
sys	0m0.000s
me@home 22:13:21 ~ $ time dig +short www.google.ru
www.google.com.
www.l.google.com.
66.249.91.147
66.249.91.99
66.249.91.103
66.249.91.104

real	0m0.152s
user	0m0.000s
sys	0m0.000s
me@home 22:13:22 ~ $ time dig +short www.google.ru
www.google.com.
www.l.google.com.
74.125.39.104
74.125.39.147
74.125.39.99
74.125.39.103

real	0m5.186s
user	0m0.000s
sys	0m0.000s
me@home 22:13:28 ~ $ time dig +short www.google.ru
www.google.com.
www.l.google.com.
74.125.39.99
74.125.39.103
74.125.39.104
74.125.39.147

real	0m10.289s
user	0m0.000s
sys	0m0.000s
me@home 22:13:42 ~ $ time dig +short www.google.ru
www.google.com.
www.l.google.com.
74.125.39.104
74.125.39.147
74.125.39.99
74.125.39.103

real	0m5.112s
user	0m0.000s
sys	0m0.000s
me@home 22:13:49 ~ $ time dig +short www.google.ru
www.google.com.
www.l.google.com.
74.125.39.103
74.125.39.104
74.125.39.147
74.125.39.99

real	0m5.052s
user	0m0.010s
sys	0m0.000s
me@home 22:13:58 ~ $ time dig +short www.google.ru
;; connection timed out; no servers could be reached

real	0m15.006s
user	0m0.000s
sys	0m0.000s
me@home 22:14:15 ~ $ time dig +short www.google.ru
www.google.com.
www.l.google.com.
74.125.39.103
74.125.39.104
74.125.39.147
74.125.39.99

real	0m0.117s
user	0m0.010s
sys	0m0.000s
me@home 22:14:25 ~ $ time dig +short www.google.ru
www.google.com.
www.l.google.com.
74.125.39.103
74.125.39.104
74.125.39.147
74.125.39.99

real	0m5.138s
user	0m0.000s
sys	0m0.000s
me@home 22:14:33 ~ $ 


Видно, что ответ либо приходит сразу, либо с задержкой
вида 5*t секунд (где t=1,2,...).

Насколько я понимаю DNS сервер обычно кэширует информацию
и последующие ответы приходят на порядок быстрее первого.
Здесь же ситуация совершенно рандомная.

Плохо знаю аспекты реализации DNS серверов, но все что приходит
на ум - работает что-то типа защиты от флуда.

В чем может быть дело?
Спасибо!

>>>

Krivenok_Dmitry
()

Похоже на баг в pdflatex.

Привет!
Заметил серьезную ошибку в работе pdflatex'а.
Свел огромный tex-файл к маленькому примеру, который приводится ниже.

develop2 ttt # cat bad_tex_template.tex
\documentclass{article}
\usepackage{longtable}

\begin{document}

\begin{longtable}{r}
\multicolumn{1}{l}{}}\\ % Syntax error at this line.
\hline
\end{longtable}

\end{document}
develop2 ttt # pdflatex  bad_tex_template.tex 
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./bad_tex_template.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, bulgarian, greek, monogreek, ancientgreek, ibycus, russian, ukraini
an, loaded.
(/usr/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texmf-dist/tex/latex/tools/longtable.sty) (./bad_tex_template.aux)
! Missing \cr inserted.
<inserted text> 
                \cr 
l.7 \multicolumn{1}{l}{}}
                         \\ % Syntax error at this line.
? x
No pages of output.
Transcript written on bad_tex_template.log.
develop2 ttt # 

Здесь все понятно.

А теперь запускаем в batchmode:

develop2 ttt # pdflatex --interaction batchmode bad_tex_template.tex 
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode

и замечаем что pdflatex зависает!

При этом в top'е:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                        
15369 root      20   0 25500 5044  860 R  100  0.2   0:38.76 pdflatex

то есть pdflatex жрет 100% CPU.

Далее смотрим что он делает через strace:

develop2 Temp # strace -fF -p 15369
Process 15369 attached - interrupt to quit

и обнаруживаем, что он ничего не делает.
То есть нет системных вызовов и следовательно ввода-вывода.
Думаю понятно что происходит :)


Проверял на x86 и amd64 системах.
Использую TeXLive.
Версия pdflatex'а была в выводе выше.

Проверьте pls этот простой примерчик.
На каком-нибудь pdflatex'е он работает?

Спасибо!

P.S.
Если вместо longtable использовать tabular, то 
все работает правильно.

>>>

Krivenok_Dmitry
()

Разыскиваются электронные книги [C++]

Привет!

Ищу следующее:

1) Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference

2) Generic Programming and the STL: Using and Extending the C++ Standard Template Library

Если у кого есть, пришлите ссылку на шару пожалуйста.

Заранее спасибо.

>>>

 

Krivenok_Dmitry
()

Unused direct dependencies && -Wl,--as-needed

Привет!

Написал программу на C++, которая линкуется так:

g++ -fPIC -MD -Wall -Wno-format-y2k -Wno-sign-compare   -pthread
-O3 -DNDEBUG 
-L/usr/local/dev/boost/lib 
-L/usr/local/dev/loki/lib
-L/usr/local/dev/ace/lib 
-L/usr/local/dev/zlib/lib 
-L/usr/local/dev/server_utils_ng/lib 
-L/usr/local/dev/oragate_ng/lib
-lloki -lACE -lz -lserver_utils_ng -loragate_ng 
-lboost_program_options-mt -lboost_regex-mt 
-o thd cache.o main.o

Вывод "ldd -u -r" вызывает некоторые подозрения:

ldd -u -r  thd 
Unused direct dependencies:
 /usr/local/dev/loki/lib/libloki.so.0.1.6
 /lib/libz.so.1
 /usr/local/dev/boost/lib/libboost_regex-gcc41-mt-1_35.so.1.35.0
 /lib/libm.so.6

Стал гуглить и нашел статью Дреппера "How to write shared libraries",
в которой говорится:

To determine whether an executable or DSO has such unnecessary 
dependencies the ldd script can be used:

$ ldd -u -r \
  /usr/lib/libgtk-x11-2.0.so.0.600.0
Unused direct dependencies:
        /usr/lib/libpangox-1.0.so.0
        /lib/libdl.so.2

These references can be manually eliminated by avoiding
to name the DSO on the linker command line. 
Alternatively the --as-needed linker option can be used. 
If this option is used, all DSOs named on the command line
after the option are only added to the dependency list if
they are really needed. This mode can be disabled again
with the --no-as-needed option. This way the lazy 
programmer can still name all the DSOs which might be
needed at all times. The linker does all the hard work.

Решил попробовать и обернул -lloki следующим образом:
 -Wl,--as-needed  -lloki -Wl,--no-as-needed

Вот что получилось:

ldd -u -r  thd 
Unused direct dependencies:

        /lib/libz.so.1
        /usr/local/dev/boost/lib/libboost_regex-gcc41-mt-1_35.so.1.35.0
        /lib/libm.so.6

После этого я решил аналогично обернуть -lz и вышло следующее:

g++ -fPIC -MD -Wall -Wno-format-y2k -Wno-sign-compare   -pthread
-O3 -DNDEBUG 
-L/usr/local/dev/boost/lib 
-L/usr/local/dev/loki/lib 
-L/usr/local/dev/ace/lib 
-L/usr/local/dev/zlib/lib 
-L/usr/local/dev/server_utils_ng/lib 
-L/usr/local/dev/oragate_ng/lib  
-Wl,--as-needed  -lloki -Wl,--no-as-needed  -lACE 
-Wl,--as-needed -lz -Wl,--no-as-needed 
-lserver_utils_ng -loragate_ng -lboost_program_options-mt -lboost_regex-mt 
-o thd cache.o main.o
/usr/local/dev/oragate_ng/lib/liboragate_ng.so: undefined reference to `inflate'
/usr/local/dev/oragate_ng/lib/liboragate_ng.so: undefined reference to `inflateInit_'
/usr/local/dev/oragate_ng/lib/liboragate_ng.so: undefined reference to `inflateEnd'
collect2: ld returned 1 exit status

То есть zlib все же нужен (как и ожидалось), но тогда почему 
"ldd -u -r" считает иначе?
Причем в случае с Loki команда ldd не соврала :)

Кто может объяснить в чем дело?

>>>

Krivenok_Dmitry
()

Linux на суперкомпьютерах (TOP500)

Привет!

Согласно
http://www.top500.org/stats/list/30/osfam
доля Linux на суперкомпьютерах равна 85.2%

То есть менее чем за 10 лет Linux практически полностью вытеснил остальные UNIX и UNIX-like ОС.

Хочу спросить у знающих людей - в чем причина подобного роста популярности?
В чем Linux так сильно превзашел традиционные UNIX-системы?

P.S.
Хотелось бы найти подобную статистику относительно ОС, применяемых на обычных серверах.
Может кто подскажет ссылку на ресурс по теме?

>>>

Krivenok_Dmitry
()

Запрет выключения питания при закрытии крышки ноутбука

Привет!

Я заметил, что при закрытии крышки ноутбука через некоторый интервал времени он выключается.
Как изменить этот интервал (в идеале до бесконечности)?

P.S.
Ноутбук Dell Insprion 1501 TL60.

>>>

Krivenok_Dmitry
()

USB Wi-Fi адаптер (или Broadcom BCM94311 победил...)

Привет!

Подскажите какой-нибудь USB Wi-Fi, который стабильно работает в Linux и не требует бинарных firmware, ndiswrapper'ов и подобной херни.
То есть вставил девайс, включил поддержку в ядре, ребутнулся и полетели.

Я день промучался в попытках завижить Broadcom'й Wi-fi через ndiswrapper.
Вроде у всех работает, а у меня нет.
И в dmesg'e только одно сообщение:
ndiswrapper version 1.52 loaded (smp=yes, preempt=no)

А интерфейс не поднимается 

olimpico_mobile ~ # iwconfig 
lo        no wireless extensions.

eth0      no wireless extensions.

olimpico_mobile ~ # 

И вроде все правильно настроено:

olimpico_mobile ~ # lspci | grep wlan
05:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)
olimpico_mobile ~ # lspci -n | grep "05:00.0"
05:00.0 0280: 14e4:4311 (rev 01)
olimpico_mobile ~ # ndiswrapper -l
bcmwl5 : driver installed
        device (14E4:4311) present (alternate driver: ssb)
olimpico_mobile ~ # 

но не работает сволочь!

Читал, что это может быть из-за SMP. 
Пересобирал ядро без CONFIG_SMP - ничего.

Короче хватит с меня траты времени.
Хочется купить нормальный девайс, который просто работает.
А есть ли вообще такие?

>>>

Krivenok_Dmitry
()

Ноутбук Dell Inspiron 1501 AMD Turion64 X2 TL60

Привет!

Собираюсь купить бюджетный ноутбук.
Пока остановился на Dell Inspiron 1501 AMD Turion64 X2 TL60
http://shop.key.ru/shop/goods/87358/

Ввиду того, что это первый мой ноутбук решил посоветоваться 
здесь по поводу совместимости его с Linux.
Не знаю какие могут быть грабли с ноутбуками.

Пара моментов из описания смущает:
1) ATI Mobility Radeon X1150
Всю жизнь использую nVidia и не имею проблем.
С ATI же тр@@@лся долго, но так и не смог заставить стабильно работать.
2) Broadcom 10/100 Ethernet
Судя по этой статье http://www.thinkwiki.org/wiki/Ethernet_Controllers
вроде поддерживается и работает.
Хотелось бы услышать Ваши отзывы.
3) Dell Wireless 1390 (802.11a/b/g) Wireless Mini-Card
С Wi-fi в Linux вообще не работал, поэтому не могу ничего сказать.
Судя по HOWTO типа http://ubuntuforums.org/showthread.php?t=297092
проблемы есть, но решаются.

Вообщем жду комментариев от опытных товарищей :)

Спасибо!

>>>

Krivenok_Dmitry
()

Пересечение множеств

Привет!

Предположим, что есть два множества.
A : |A| = n
B : |B| = m

Элементы данных множеств - целые положительные числа.
Задача заключается в нахождении пересечения данных множеств.

Очевидный подход - реализовать множества как списки, поддерживать 
их отсортированными и искать пересечение одним проходом по обоим
спискам.

Получаем алгоритм со сложностью O(n+m).

Можно ли найти пересечение быстрее?

Спасибо!

>>>

Krivenok_Dmitry
()

Бесплатный сервис удаленного backup'а

Привет!

Сейчас весь бэкап моей домашней машины делается на 
второй винчестер.
Это представляется мне не очень надежным.

Есть ли сервис, бесплатно предоставляющий некоторый объем памяти
(мне нужно всего 50-100 Mb) и доступ к нему через ftp/scp?

Видел много подобных сервисов, но аплоад фалов на них
возможен только через Web, что не очень удобно при использовании
собственных скриптов, запускаемых через крон по ночам.

Спасибо!

>>>

Krivenok_Dmitry
()

getopt: возвращается ? вместо :

Привет!

Компилирую пример:
http://www.c.happycodings.com/Gnu-Linux/code11.html

Запускаю:

krivenok@develop 14:02:55 /tmp/getopt $ ./a.out -f             
./a.out: option requires an argument -- f
getoptex: Error - No such option: `f'

getoptex,0.0.1 show working getopt example
getoptex [-h] [-V] [-f FILE] [-o FILE]

  -h              print this help and exit
  -V              print version and exit

  -v              set verbose flag
  -f FILE         set intput file
  -o FILE         set output file

krivenok@develop 14:03:00 /tmp/getopt $ 


Программа выдет "No such option", а должна
"Option `f' needs a value".

То есть возвращается '?' вместо ':'.

В чём проблема?

P.S.
Заметьте, что сам getopt пишет на stderr:
./a.out: option requires an argument -- f

>>>

Krivenok_Dmitry
()

Какой-то shit с драйвером ATI?

Привет!

Посмотрите вот на ЭТО:
http://www.heresmyimage.com/uploads/8725ab0f3f.png

Не знаю в чем дело, но в таких приложениях как konqueror,
kchmviewer и некоторых других при скроллировании получаю
засерание экрана как на рисунке.

Лечится просто - из Х'ов в консоль и обратно.
Экран восстанавливается, но затем всё по новой.

Пробовал разные драйверы:
ati-drivers-8.40.4.ebuild
ati-drivers-8.42.3.ebuild
ati-drivers-8.433.ebuild

Проблема не уходит.

Грешу на драйвер, так как с vesa всё работает!!!
С другой сторорны и раньше с ATI драйвером всё было OK.
Странно.

Может у кого были такие проблемы?

Спасибо!

>>>

Krivenok_Dmitry
()

Баги в ping?

Привет!

Посмотрите внимательно на первые 2 строчки здась:

krivenok@develop 15:55:48 ~ $ ping "192.168.70.2 fucking invalid address"
PING 192.168.70.2 fucking invalid address (192.168.70.2) 56(84) bytes of data.
64 bytes from 192.168.70.2: icmp_seq=1 ttl=255 time=1.65 ms
64 bytes from 192.168.70.2: icmp_seq=2 ttl=255 time=1.61 ms
64 bytes from 192.168.70.2: icmp_seq=3 ttl=255 time=1.63 ms
64 bytes from 192.168.70.2: icmp_seq=4 ttl=255 time=1.65 ms
64 bytes from 192.168.70.2: icmp_seq=5 ttl=255 time=1.54 ms

--- 192.168.70.2 fucking invalid address ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4017ms
rtt min/avg/max/mdev = 1.545/1.618/1.651/0.053 ms
krivenok@develop 15:55:55 ~ $ 

и вот здесь:

krivenok@develop 15:59:53 ~/work/address_validator $ ping "192.168"
PING 192.168 (192.0.0.168) 56(84) bytes of data.
From 194.84.251.82 icmp_seq=1 Destination Host Unreachable
From 194.84.251.82 icmp_seq=2 Destination Host Unreachable
From 194.84.251.82 icmp_seq=3 Destination Host Unreachable
From 194.84.251.82 icmp_seq=4 Destination Host Unreachable

--- 192.168 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3018ms

krivenok@develop 16:00:08 ~/work/address_validator $ 

На мой взгляд это баг.
Проблема связана с вызовом функции inet_aton() с некорректным 
параметром (как в примерах выше).

Может у кого есть другое объяснение такого поведения ping?

>>>

Krivenok_Dmitry
()

Размер очереди входящих IP пакетов

Привет!

Как определить размер очереди входящих IP пакетов?
Правильно ли я понимаю, что если эта очередь переполнится, то
вновь приходящие IP пакеты будут отброшены?

Спасибо!

>>>

Krivenok_Dmitry
()

Вопрос по дешифровке RC4.

Привет!

Есть файл, закодированный с помощью RC4.
Файл гарантированно валидный.

Я написал простенький дешифровщик на Perl с помощью 
враппера в libgcrypt.
Вот этот скриптик:
###############################################################
#!/usr/local/bin/perl
use strict;
use Crypt::GCrypt;

my $cipher = Crypt::GCrypt->new(
                                 type => 'cipher',
                                 algorithm => 'arcfour', 
                                 mode => 'stream'
                               );

$cipher->start('decrypting');
$cipher->setkey('dima');

binmode STDOUT;
binmode STDIN;

my $size = $ENV{'DECRYPT_SIZE'};

my $buf;
my $rc;
while($rc = sysread(STDIN, $buf, $size))
{
  my $plaintext = $cipher->decrypt($buf);
}
print STDERR "RC = '$rc' ($!)\n" unless defined $rc;
###############################################################

Как видно, размер буфера для чтения задается с помощью переменной
окружения DECRYPT_SIZE.
Далее прочитанный кусок закодированного файла передается в 
библиотечный вызов.

Вот что я получаю при изменении размера буфера чтения от 1 до 9:

krivenok@develop ~/work/misc/crypt $ for ((i=1;i<10;i++)) do export DECRYPT_SIZE=$i && echo "*** $i ***" && cat file.rc4 | ./decoder_test.pl ;  done
*** 1 ***
*** 2 ***
panic: sv_setpvn called with negative strlen at ./decoder_test.pl line 25.
*** 3 ***
*** 4 ***
panic: sv_setpvn called with negative strlen at ./decoder_test.pl line 25.
*** 5 ***
*** 6 ***
*** 7 ***
panic: sv_setpvn called with negative strlen at ./decoder_test.pl line 25.
*** 8 ***
*** 9 ***
krivenok@develop ~/work/misc/crypt $

Для буфера размером 1,3,5,6,8 и 9 байт всё ОК.
А для 2,4 и 7 байт вылезает какая-то ошибка (внутри библиотеки).

Основной вопрос следующий:
Могу ли я подсовывать дешифровщику шифрованный текст кусками любого
размера? Имеется ввиду с точки зрения алгоритма RC4.

Или я должен на вход дешифровщика подавать куски того же размера,
что и на выходе шифровщика (это работает - проверено опытным путем)?
Размер при этом естественно может быть переменным.
Krivenok_Dmitry
()

Архитектура демона

Привет!

Есть проблема с выбором архитектуры демона.

Вкраце опишу задачу:
Демон при старте считывает из БД Oracle информацию и строит
по ней дерево поиска (цифровое деверо).
Критичным ресурсом является именно время поиска информации, а
в случае дерева всё что нужно - просто пройти по нему в глубину.
После построения дерева в памяти демон переходит в бесконечный цикл
обработки запросов клиентов (т.е. блокируется в accept, принимает
соединение, создает дочерний процесс на обработку запроса и снова
блокируется в accept).
Т.о. имеем тривиальную process per connection архитектуру.

Теперь опишу проблему:
Дерево в памяти занимает около 100Mb, т.е. очень много.
Известно, что при создании процесса через fork используется
оптимизация copy-on-write.
Казалось бы, при read-only доступе к дереву в дочерних процессах 
никакого копирования быть не должно и все дочерние процессы должны
разделять дерево.
Однако, во-первых, COW опцимизация в Linux постраничная (per page).
Во-вторых, демон написан на Perl'е, который может творить "за кулисами"
всё что угодно.
И последнее, я не уверен на 100%, но скорее всего это так - при
своппинге разделяемых страниц памяти на диск они перестают разделяться
между процессами и система уходит в глубочайший своп (это то, что
я вижу после какого-то времени работы демона при большом количестве 
подключений, но не таком большом чтобы была fork-бомба).

Соответсвенно, при такой простой архитектуре и большом объеме дерева
демон не работает корректно.

Сразу на ум приходят 2 решения:
1) Потоки вместо процессов (явное разделение адресного пространства).
К сожалению, использование потоков невозможно (по ряду причин, которые
от меня не зависят).
2) Разделяемая память.
Я пробовал модуль Shareable, но он валится при заполнении дерева.

Может кто предложить грамотный способ решения задачи?
Может есть другие подходы?

Спасибо!
Krivenok_Dmitry
()

Copy on write + swapping

Привет!

Допустим я создаю 100 дочерних процессов из родительского процесса
с помощью fork.
Как написано в man 2 fork:

Under  Linux,  fork() is implemented using copy-on-write 
pages, so the only penalty that it incurs is the time and 
memory required to duplicate the parent's page tables, and 
to create a unique task structure for the child.

Т.о. после создания все процессы (100 дочерних и 1 родительский)
разделяют страницы памяти.

Теперь допустим, что одну из страниц требуется сбросить на диск
(swap out to backing storage).

Что при этом происходит?
1) Страница всё ещё разделяется всеми процессами, сбрасывается на
диск и помечается как "swapped out"?
2) Страница сбрасывается на диск, помечается как "swapped out", но 
при возникновении page fault'а в каком-то процессе происходит 
копирование этой страницы при загрузке из swap'а?
3) Что-то ещё?

Плохо знаю эту область.
Читал разные доки, но прямого ответа не нашёл.

Может более опытные товарищи что подскажут?
Спасибо!
Krivenok_Dmitry
()

Странная проблема с производительностью read/write.

Привет!

Есть странная проблема с производительностью read/write.
Есть демон, написанный на perl, который принимает подключение
по TCP и выполняет команду shell.
Делает он это тривиальнейшим способом - fork + exec.

Проблема происходит при посылке команды:
bzcat /tmp/big_file.bz2 | egrep "^[0-9]+" > /dev/null

Проблема заключается в том, что данная команда выполняется  
около 50 секунд, тогда как она же просто запущенная из 
консоли выполняется менее 2 секунд!

Я изучал трассу системных вызовов (strace -ffF -tt) и обнаружил, 
что проблема заключается в низкой производительности 
записи/чтения в пайп (создаваемый шелом).
Почти все 50 секунд 1-й процесс усердно читает данные из файла
и пишет на stdout (т.е. реально в пайп), а 2-й процесс с 
тем же усердием читает данные с stdin (т.е. из пайпа) и пишет их
на stdout (т.е. в /dev/null).

Аналогичный strace команды при запуске из консоли показывает 
почти тот же самый набор read/write, но отрабатывает почти в 20
раз быстрее!

Проблема явно системная, т.к. аналогичная команда, посланная тому
же самому демону на 2-х других серверах выполнилась очень
быстро.

Итак конфигурации систем:
1) Проблемная система.
Linux develop 2.6.14-gentoo-r2 #1 SMP PREEMPT Wed Mar 21 18:43:52 MSK 2007 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz GenuineIntel GNU/Linux

2) Система где всё работает быстро 1
Linux demo 2.6.17-gentoo-r7 #2 SMP Tue Feb 13 19:35:29 MSK 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux

3) Система где всё работает быстро 2
Linux test_serv 2.6.9-prep #4 SMP Tue Feb 13 14:30:01 MSK 2007 i686 i686 i386 GNU/Linux

У меня уже закончились идеи на этот счет.
Может кто сталкивался с подобными проблемами.

Спасибо!
Krivenok_Dmitry
()

Баг в Vim?

Привет!

У меня в vimrc прописана строчка:
set iskeyword+=_

Я открываю файлик file1.txt так:
vim file1.txt

Делаю команду ":set iskeyword" и вижу:
a-z,A-Z,48-57,:,/,.,_

Всё ОК, к списку добавился символ "_".

Теперь в split window открываю file2.txt командой ":sp file2.txt"
и опять проверяю опцию командой ":set iskeyword":
a-z,A-Z,48-57,:,/,.

Как видно символа "_" в списке уже нет!
В доке конечно сказано, что iskeyword это buffer local параметр, но
я же изменяю его в vimrc.

Баг это или фича?
Если фича, то как изменить параметр так, чтобы он изменялся
для всех буферов?
Krivenok_Dmitry
()

Максимальное количество открытых файлов

Привет!

Как узнать максимальное количество открытых файлов на процесс?
Должен быть какой-то параметр.
Можно ли изменить этот параметер? Если да, то какой 
у него верхний предел?

Спасибо!
Krivenok_Dmitry
()

RSS подписка на новые темы