12

Я только что установил тестирование Debian на своем новом рабочем столе, и я не очень доволен производительностью - когда я выполняю операции с интенсивным диском, например, обновление пакетов в системе, все кажется зависшим, например, изменение вкладок в Iceweasel занимает 3 секунды. Я запускаю Debian на своем 3-летнем ультрапортативном ноутбуке Thinkpad X60, и у меня нет этих проблем. (каждый параметр ноутбука намного хуже, чем у рабочего стола).

Я использую стандартное упакованное ядро и скрипты.

я бегу

hdparm -t /dev/sda1

И я получил около 96 ГБ / с, что ожидается. Что еще я могу попытаться заставить его работать лучше?

РЕДАКТИРОВАТЬ:

grzes:/home/ga# hdparm -i /dev/sda

/dev/sda:

 Model=WDC WD15EARS-00Z5B1, FwRev=80.00A80, SerialNo=WD-WMAVU1362357
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=2930277168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode

РЕДАКТИРОВАТЬ 2: Даже моя жена сказала: «На этом новом компьютере я ничего не могу сделать, когда копирую фотографии с камеры, и это намного хуже, чем на старом». Так что это должно быть серьезно.

EDIT3: обновлен до 2.6.32, но все еще без улучшений

EDIT4: я забыл упомянуть, что новый диск ext4, старый был ext3.

EDIT5: до сих пор не решена. У меня есть плата P43 ASUS P5QL-E. Строки из dmesg, которые кажутся актуальными:

[    0.370850] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)                              
[    0.370852] io scheduler noop registered                                                                      
[    0.370853] io scheduler anticipatory registered                                                              
[    0.370854] io scheduler deadline registered                                                                  
[    0.370876] io scheduler cfq registered (default)
...
[    0.908233] ata_piix 0000:00:1f.2: version 2.13                                                               
[    0.908243] ata_piix 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19                                 
[    0.908246] ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]                                                        
[    0.908275] ata_piix 0000:00:1f.2: setting latency timer to 64                                                
[    0.908316] scsi0 : ata_piix                                                                                  
[    0.908374] scsi1 : ata_piix                                                                                  
[    0.909180] ata1: SATA max UDMA/133 cmd 0xa000 ctl 0x9c00 bmdma 0x9480 irq 19                                 
[    0.909183] ata2: SATA max UDMA/133 cmd 0x9880 ctl 0x9800 bmdma 0x9488 irq 19                                 
[    0.909199] ata_piix 0000:00:1f.5: PCI INT B -> GSI 19 (level, low) -> IRQ 19                                 
[    0.909202] ata_piix 0000:00:1f.5: MAP [ P0 -- P1 -- ]                                                        
[    0.909228] ata_piix 0000:00:1f.5: setting latency timer to 64                                                
[    0.909279] scsi2 : ata_piix                                                                                  
[    0.909326] scsi3 : ata_piix                                                                                  
[    0.910021] ata3: SATA max UDMA/133 cmd 0xb000 ctl 0xac00 bmdma 0xa480 irq 19                       

8 ответов8

4

Проверьте смещение для раздела - для EARS должно делиться на 4, так как они имеют технологию 4096. Если это не так - перераспределите его, чтобы получить выравнивание, и проблемы с производительностью должны исчезнуть (неправильно выровненные диски EARS будут выполнять намного больше операций записи в сектор за операцию).

4

У меня была похожая проблема с зависанием при выполнении большого количества дисковых операций ввода-вывода. Во время резервного копирования рабочий стол снова и снова зависал на несколько секунд, пока резервное копирование не завершилось.

Это не было связано ни с выравниванием, ни с настройкой hdparm (хотя я согласен, что это поможет).

Блокировка системы была вызвана планировщиком ввода-вывода, который слишком сильно задерживает некоторые операции ввода-вывода, необходимые для более интерактивных приложений (Firefox, KDE и т.д.). Неисправный планировщик ввода-вывода был cfg.

Чтобы решить эту проблему, вы должны использовать планировщик ввода-вывода срока. Вы активируете его на диске с помощью следующей команды, которую вы можете добавить в /etc/rc.local:

echo deadline >  /sys/block/sda/queue/scheduler

Установите флажок Решить проблему блокировки Linux при интенсивном вводе-выводе диска для получения дополнительной информации.

2

Я столкнулся с проблемами, когда операции, которые выполняют много вызовов fsync(2), вызовут значительное замедление работы системы. В моем случае я использую корневой раздел LVM, содержащийся в LUKS. Вы используете LVM или LUKS?

Инструмент, который может помочь определить, что именно пережевывает ваши диски (а не просто "устанавливает пакеты"), называется iotop . Я бы предложил запустить его, пока вы выполняете одну из этих задач, и он может указать на какой-то другой фоновый процесс, который может запускаться одновременно и поглощать всю вашу пропускную способность ввода / вывода.

2

Это выстрел в темноте, но у меня была такая проблема некоторое время назад, и причина оказалась в том, что ядро не полностью поддерживало чипсет, и DMA был выключен. Проверить с

hdparm -i /dev/sda

включен ли один из режимов DMA.

(Решением в этом случае было получить более новое ядро.)

2

sudo fdisk -u /dev /sda

Это должно дать вам начальное смещение. Я «думаю», что вы можете создать раздел, используя fdisk -o 64 или что-то еще - я должен был бы прогуглить его, так что я позволю вам выполнить поиск в Google по fdisk и вручную установить смещение раздела (по умолчанию 63, так что ничего хорошего).

и да, диск будет отображаться с 512b секторами, поскольку он притворяется таковым для ОС - Vista/W7 справляется с этим, устанавливая правильное смещение, но XP и я думаю, что почти все дистрибутивы linus не работают :( вручную это единственный способ, которым это кажется (у меня просто накопитель, созданный в win7/ntfs, так что для меня это не проблема)

Изменить: - На WDC нашел хороший пост - это должно заставить вас работать в кратчайшие сроки :)

http://community.wdc.com/t5/Desktop/Problem-with-WD-Advanced-Format-drive-in-LINUX-WD15EARS/mp/10920#M631

1

Просто случайный снимок, который кажется глупым, учитывая, что вы используете Debian ... но я обнаружил, что он помог кому-то с той же моделью жесткого диска: вы пытались обновить BIOS?

1

Это наконец исправлено! Как отметил @Rachel, проблема действительно заключалась в выравнивании по секторам 4 КБ, но, к сожалению, ссылка на статью была неправильной :(

Правильный способ выравнивания разделов находится здесь:http://www.linuxconfig.org/linux-wd-ears-advanced-format

И эта статья дает довольно хороший тест, так что вы можете проверить правильность таблицы разделов:http://article.gmane.org/gmane.linux.utilities.util-linux-ng/2955

Кстати, если у вас есть этот диск и вы используете Linux, вы также ДОЛЖНЫ увеличить один из таймеров простоя, как описано здесь:http://wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/std_adp .php?p_faqid = 5357 & p_created = 1266947046 & p_sid = Os7DQL2k & p_accessibility = 0 & p_redirect = & p_srch = 1 & p_lva = & p_sp = cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9NTEsNTEmcF9wcm9kcz0yMjcsMjk0JnBfY2F0cz0xMzAmcF9wdj0yLjI5NCZwX2N2PTEuMTMwJnBfcGFnZT0x & p_li = & p_topview = 1

1

Как правило, если вы можете использовать hdparm на устройстве, то это "старый" интерфейс ATA по сравнению с более новым интерфейсом SATA/SCSI. Если это так, то проблема, вероятно, заключается в том, что дисковые операции во время прерываний не включены по умолчанию. Это распространенная проблема на некоторых машинах, использующих более старый интерфейс ATA, и может привести к снижению производительности диска или системы во время тяжелых операций ввода-вывода.

Вы действительно должны попробовать это:

sudo hdparm -t -T /dev/sda
sudo hdparm -a8 -c3 -u1 /dev/sda
sudo hdparm -t -T /dev/sda

Если вы не видите улучшения производительности во 2-м цикле (третья команда), тогда происходит что-то еще.

Другим фактором является ожидание, что режим UDMA6 будет работать по кабелю, отличному от UDMA (при условии, что это не интерфейс SATA). Если вы используете 80-контактный кабель ATA, все в порядке; Если вы используете более старый 40-контактный разъем, вы получите все виды горя. Если кабель является более старым 40-контактным, вам нужно снизить скорость передачи до уровня, который может поддерживаться "безопасно". ВНИМАНИЕ: настройка интерфейса IDE может привести к зависанию диска и / или интерфейса, и, если диск является вашей корневой файловой системой, вся система зависнет вместе с ним!

Если вам нужно уменьшить скорость передачи данных в соответствии с оборудованием, попробуйте следующее:

sudo hdparm -t -T /dev/sda
sudo sync; sleep 3 ; sync    
sudo hdparm -d 1 -X mdma2 /dev/sda
sudo hdparm -t -T /dev/sda

Опять же, второй тайминг (третья команда выдана) должен показать улучшение.

Наконец, сам диск может быть маргинальным, но без отчетов SMART вы можете не заметить проблему (пока не станет слишком поздно). Я очень рекомендую установить пакет smartmontools , чтобы помочь вам, особенно если у вас есть старый диск, который время от времени будет нуждаться в небольшом TLC.

sudo apt-get update && apt-get install smartmontools

Если все остальное терпит неудачу, посмотрите в /var/log/messages на ошибки дискового ввода-вывода.


Обновить:

Похоже, вы не одиноки. По всей сети есть доски объявлений, сообщающие обо всех видах душевной боли с этими устройствами.

Также упоминается, что диск использует размер сектора 4 КБ по сравнению с "традиционным" размером 512 байт. Я могу только представить, какие неприятности это должно вызывать.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .