LINUX.ORG.RU

Почему Linux такой тормозной?


0

0

Нет, я не о набившей оскомину теме работы GUI в разных кольцах защиты процессора. Нынешней скорости отрисовки графики мне почти хватает :D

Но - вот начинается интенсивная работа с винтом и... даже мышь замирает. Это при том, что, естественно, UDMA включён, винт быстрый, линейный трансфер - тоже. В виндах я такого со времён форматирования дискетт в Win95 не видел :D

Может, чего в параметрах винта подкрутить нужно? Вот инфа:

# hdparm -iTt /dev/hda

/dev/hda:

Model=Maxtor 6Y080P0, FwRev=YAR41BW0, SerialNo=Y2K07BTE Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57 BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=160086528 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=yes: disabled (255) WriteCache=enabled Drive conforms to: (null):

* signifies the current active mode

Timing cached reads: 1256 MB in 2.00 seconds = 626.53 MB/sec Timing buffered disk reads: 136 MB in 3.00 seconds = 45.26 MB/sec

# uname -a Linux balancer-aviaport 2.6.11-gentoo-r7 #4 Sat May 14 12:10:30 MSD 2005 x86_64 AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux

Что, может, подкрутить? А то я понимаю, когда вопрос принципиальный, типа графики, но когда просто винт тормозить начинает... :-/

Дома на P3-1000 проблема аналогичная, правда, там и винт тормознее (20Мб/с buffered read), так что его параметры и не привожу :)

★★★★★

Ответ на: комментарий от anonymous

Блин, забыл преформат включить перед постингом. Посему, наверное, не видно - там есть

# uname -a

Linux .... 2.6.11-gentoo-r7

На анлогичном P3 - 2.6.11-gentoo-r6

KRoN73 ★★★★★
() автор топика

Поставь ядро 2.4.x

anonymous
()
Ответ на: комментарий от KRoN73

Просто надо не только -X69 или что там, но и -d1, тогда он не трогает процессор.

Shaman007 ★★★★★
()

И почему же я замечаю полную загрузку винчестера только по хрусту? Может потому что не использую говно типа IDE винчестеров? А может потому что памяти достаточно(забитой кэшем нужных данных) и swap не используется?

Проведи простой тест: запусти top и загрузи диск. Если процессорная загрузка возрастет, то все плохо, надо ковырять DMA. Если нет, то надо думать дальше.

anonymous
()
Ответ на: комментарий от anonymous

>И почему же я замечаю полную загрузку винчестера только по хрусту? Может потому что не использую говно типа IDE винчестеров? А может потому что памяти достаточно(забитой кэшем нужных данных) и swap не используется?

И почему же я замечаю полную загрузку винчестера только по хрусту? Даже когда использую говно типа IDE винчестеров? :)

P.S.: Недавно с помощью slax копировал всё содержимое со старого помирающего ide на новый sata винт. Загрузка была абсолютно незаметной, копировалось быстро.

thand
()
Ответ на: комментарий от thand

Кстати по поводу дискеток и виндов:

Один товарищ пытается что-то вытащить с дискеты с помощью BadCopy, потом ему это надоедает, он решает это прекратить и пытается закрыть BadCopy. Он не закрывается, товарищ выдергивает дискету и через 30 сек вставляет другую, чтобы что-то с неё скачать. BadCopy ещё висит и закрываться не хочет никак, диспетчер задач не помогает ни капли. Скопировать что-то с дискеты не удается и он решает скопировать по сети. Товарищ слева с ноутом расшаривает дисковод и говорит, чтобы тот качал сам. Дискета вставляется в флоп и на первом компе открывается TotalCommander, который успешно зависает при начале копирования с расшареного флопа. Дискета вынимается. Начинает глючить и подвисать ноут, с ним начинается борьба, закрывается всё что было открыто, но он всё равно подвисает намертво. Первый в это время пытается с помощью диспетчера задач снять BadCopy и TC, но падает почему-то Explorer. Вообщем, всё кончилось дружной перезагрузкой обеих машин. С дискетки потом всё считалось нормально.

thand
()

Вывод

hdparm /dev/hda

покажи, да?

Deleted
()
Ответ на: комментарий от Lugovsky

можно попробовать поставить staircase scheduler

мне очень хорошо помогает при работе приложений, критических по i/o
нет никаких залипаний

fortl
()
Ответ на: комментарий от anonymous

Откуда же ты такой убогий выискался?

Мне кстати как-то раз помогло CONFIG_BLK_DEV_VIA82CXXX=y Т.к. у меня и правда ВИА =)

anonymous
()

А что если hdparm -u1 /dev/hda?

И вот вопрос - что там в /proc/sys/vm/swappiness?

Кстати:
Linux prof-gent 2.6.11-ck8-r1 #1 Mon Jun 6 09:03:26 MSD 2005 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux

Ни каких тормозов пока не заметил...

anonymous
()
Ответ на: комментарий от Shaman007

>hdparm -d1 /dev/hda

hdparm -d /dev/hda

/dev/hda:
 using_dma    =  1 (on)

Там и в результатах выше видно, что включено.

>Может потому что не использую говно типа IDE винчестеров?

Почему же тогда офтопик на IDE не тормозит под аналогичной
загрузкой? :D

>А может потому что памяти достаточно(забитой кэшем нужных данных)
>и swap не используется?

Опять же - см. офтопик. И, увы, на этой машине мне ни памяти не
нарастить, ни винта поменять - казённая. А на домашней памяти
не нарастить, т.к. она понимает только двухсторонние DIMM'ы (440BX),
да и если ей 640Мб мало - то я уже не знаю, что тут и сказать :D

>P.S.: Недавно с помощью slax копировал всё содержимое со старого
>помирающего ide на новый sata винт. Загрузка была абсолютно
>незаметной, копировалось быстро.

Кстати, при линейном копировании - не тормозит. Простого копирования
не ощущается. Тормоза начинаются именно на интенсивном seek'е.

>Вывод 
>hdparm /dev/hda
>покажи, да?

В первом топике. Дублирую в нормальном формате:
# hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 65535/16/63, sectors = 81964302336, start = 0

>Вруби preemptable kernel.

[*] Preemptible Kernel                                              │ [*]   Preempt The Big Kernel Lock

>можно попробовать поставить staircase scheduler

А что оно делает? (впрочем, посмотрю)

>2.6.11 ядро вообще жутко тормозное, и были замечаны случаи глюкавости
>i845 на 2.6.х

Не похоже на тормоза ядра в явном виде. Как уже отмечал,
линейный трансфер не тормозит, пока нет работы с винтом - не тормозит.
Чипсет, кстати, nForce2 тут (на работе) и 440BX дома.

>линукс в графическом режиме не может не тормозить, так он устроен

Речь не о _тех_ тормозах :) _Те_ меня устраивают :)

>Мне кстати как-то раз помогло CONFIG_BLK_DEV_VIA82CXXX=y
>Т.к. у меня и правда ВИА =)

:) У меня - nForce2, под него и скомпилено. Но, боюсь, если я, наоборот, PIIX тут поставлю, во-первых, не заведётся, а, во-вторых,
дома - PIIX. Правда, там и тормозит поменьше, вроде бы :D Но, опять
же, там и памяти побольше :D

>А что если hdparm -u1 /dev/hda?

# hdparm -u /dev/hda1

/dev/hda1:
 unmaskirq    =  1 (on)

>И вот вопрос - что там в /proc/sys/vm/swappiness?

Сейчас - 60. А что должно быть? :)

>Linux prof-gent 2.6.11-ck8-r1 #1 Mon Jun 6 09:03:26 MSD 2005 x86_64
>AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
>Ни каких тормозов пока не заметил...

Кстати. Уже после вчерашних экспериментов посмотрел - X у меня жрали
около 250Мб резидентной и 500+ Мб общей. Работали дня три. После
перезагрузки объём занимаемой ими памяти уменьшился. Сейчас - 110Мб
резидентной и 321Мб виртуальной.

Так что, м.б., ларчик просто открывается... М.б. тормоза сами по себе
невеликие, но когда начинается сильный своп - всё и уходит в тормоза.

Но я не понимаю, почему X может _ТАК_ жрать память :D

Дома WinXP/SP2 стоит на стареньком ноуте, там полноценная некастрированная система умещается в 48Мб оперативки из 96 наличной :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

>>И вот вопрос - что там в /proc/sys/vm/swappiness?

>Сейчас - 60. А что должно быть? :)

Поставь 10 или 20, если поставить 0, то ядро будет вести себя как 2.4 Тормоза начинаются из-за агрессивного свопинга, ядро пытается высвободить память под кеш и еще больше нагружает винт, после чего начинает "залипать" система. Кстати такого поведения у ядер -ck нет!

anonymous
()

Вот так начинаются тормоза :)

top - 12:20:22 up 8 days, 19:32,  8 users,  load average: 2.01, 1.02, 0.83
Tasks: 117 total,   1 running, 115 sleeping,   0 stopped,   1 zombie
Cpu(s): 11.4% us,  6.0% sy,  0.0% ni,  0.0% id, 82.3% wa,  0.3% hi,  0.0% si
Mem:    509308k total,   503492k used,     5816k free,    20508k buffers
Swap:  1052216k total,   401324k used,   650892k free,    47096k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
30682 root      16   0  336m 134m 4576 S  3.0 27.1 190:19.88 X
30863 balancer  16   0  134m  66m 8160 S  7.3 13.5  88:27.47 opera
19693 balancer  15   0  254m  47m  12m S  0.3  9.5   0:20.68 firefox-bin
20555 root      18   0 23900  19m  584 D  2.0  3.8   0:03.46 rsync
20559 root      16   0 24036  18m  652 S  1.3  3.8   0:00.26 rsync
18157 balancer  15   0 93736  18m 8440 S  0.3  3.7   0:36.56 psi
20539 root      16   0 57320  13m 2756 S  0.0  2.7   0:00.55 esync
20549 root      16   0 60216  11m 2968 S  0.0  2.4   0:00.42 emerge
 9277 xfs       16   0 35984  11m 1060 S  0.0  2.3   1:12.08 xfs
30849 balancer  16   0  121m  11m 8684 S  0.0  2.3   0:03.74 akregator
30915 balancer  15   0  134m  10m 5664 S  2.7  2.2   0:27.66 gnome-terminal

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

>Поставь 10 или 20

Поставил пока 20. Сейчас пауза, пока он после esync базу обновляет, закончит - запущу переокмпиляцию нескольких пакетов с обновившимися флагами - тогда и оценю результат :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

пока ещё не шибко достоверно, мелочь всякая компилится, но, есть ощущение, что тормозить стало меньше :D

KRoN73 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.