Дискові операції заморожують Debian


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

EDIT2 : Навіть моя дружина сказала, що "на цьому новому комп’ютері я нічого не можу робити, коли копіюю фотографії з камери, і це набагато гірше, ніж на старий". Тож воно має бути серйозним.

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                       

1
У мене теж така ж проблема. Я використовую 64-бітний ubuntu 9.10.
Abhijeet Rastogi

1
якісь оновлення до цього? все ще виникає проблема? якщо так, чи можете ви сказати нам, який чіпсет використовується материнська плата? щось цікаве dmesgщодо чіпсета чи накопичувача? якщо ви якимось чином це виправили, розгляньте повідомлення про написання як відповідь, щоб повідомити майбутнім читачам.
квакш-кіхот

@ ~ шарлатанство, ще не вирішено, дивіться редагування.
Grzenio

Відповіді:


4

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


ooOOOOooo. ви можете бути на чомусь. Вихід dmesg вказує, що він може виявляти привід як 512-байтовий секторний привід: "[sda] 2930277168 512-байтові логічні блоки" .. Чи є "перемичка XP" на диску, яка встановила б якийсь режим сумісності? тут ... дивіться перемичку "Розширений формат" тут: wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/… .., що, ймовірно, говорить, що ОС має 512-байтові сектори, переконайтеся, що це не так набір.
квакш-кіхот

дякую за вашу відповідь Не могли б ви сказати, як я можу перевірити зміщення? Чи можу я просто перемістити розділ, чи потрібно його відтворити?
Grzenio

Чи є спосіб перевірити зміщення на перегородці? Команда, яку можна запустити?
Warren P

Ви можете використовувати gdisk, щоб перевірити зміщення розділу - rodsbooks.com/gdisk
Джеймс Самнерс

4

У мене виникли подібні проблеми із заморожуванням, коли я робив багато дискових вводу. Під час резервного копіювання робочий стіл заморожувався кілька секунд знову і знову, поки резервна копія не закінчилася.

Це не було пов'язано ні з вирівнюванням, ні з налаштуванням hdparm (хоча я згоден, це допоможе).

Блокування системи було спричинене планувальником вводу-виводу, який затримує занадто багато IO, необхідних більш інтерактивним додаткам (Firefox, KDE або іншим). Несправним планувальником вводу- виводу був cfg .

Щоб вирішити проблему, ви повинні використовувати планувальник вводу-виводу терміну. Ви активуєте його на диску за допомогою наступної команди, яку ви можете додати в /etc/rc.local :

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

Перевірте Розв’язання блокування системи Linux під час інтенсивного вводу / виводу диска для отримання додаткової інформації.


2

Це знімок у темряві, але у мене була така проблема, як це було раніше, і причина виявилася в тому, що ядро ​​не підтримувало чіпсет повністю і DMA була вимкнена. Перевірте

hdparm -i /dev/sda

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

(У цьому випадку рішенням було отримати нове ядро.)


Вихід: - режими DMA: mdma0 mdma1 mdma2 UDMA режими: udma0 udma1 udma2 udma3 udma4 udma5 * udma6 так, у чому проблема ??
Abhijeet Rastogi

Я отримав: Model=WDC, 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=0kB, 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
Grzenio

Здається, жоден режим dma не має зірки (це доречно). Це важливо? Як це можна налаштувати?
Grzenio

Також я не впевнений, чи це не стосується лише пристроїв IDE, тому що я отримую: hdparm -d / dev / sda / dev / sda: не вдалося HDIO_GET_DMA: невідповідний ioctl для пристрою
Grzenio

@Grzenio: у режимі udma6, здається, є зірка, це неправильно? можливо, захочете відредагувати цю інформацію у своїй публікації, щоб ви могли її відформатувати.
крякав кіхот

2

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

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


Привіт, вибачте за пізню відповідь: iotop каже, що [jbd2 / sda3-8] використовує 80% -99% вводу-виводу, але диск читання, запису та заміни є 0,0 одночасно. Будь-які ідеї?
Grzenio

Загалом, перевірити наявність надмірної синхронізації - це хороший момент. Однак у цьому випадку те саме програмне забезпечення працює набагато краще на іншому апаратному забезпеченні (старий T60), тому це більше схоже на проблему з цією комбінацією апаратно-драйверних програм. І все-таки добре пам’ятати про це.
sleske

2

sudo fdisk -u / dev / sda

Це має дати вам початковий залік. Я думаю, що ви можете створити розділ за допомогою fdisk -o 64 або щось інше - мені доведеться перенести його в Google, щоб не допустити, щоб ви робили гуглінг на fdisk і вручну встановлювали зсув розділу (за замовчуванням - 63, так що це не добре).

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

Редагувати: - Знайдений приємний пост у wdc - це повинно вас працювати в найкоротші терміни :)

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


Привіт, я отримав: grzes: / home / ga # fdisk -u / dev / sda Кількість циліндрів для цього диска встановлена ​​на 182401. У цьому немає нічого поганого, але цей розмір більший за 1024 і міг би в певних налаштуваннях викликати проблеми з: 1) програмним забезпеченням, яке працює під час завантаження (наприклад, старими версіями LILO) 2) програмним забезпеченням для завантаження та розділення з інших ОС (наприклад, DOS FDISK, OS / 2 FDISK) Команда (м на допомогу):
Grzenio

Нарешті мені вдалося це зробити, але це не дуже допомогло :( Справжня проблема повинна бути десь в іншому місці.
Grzenio

1

Просто випадковий знімок, який здається нерозумним з огляду на те, що ви використовуєте Debian ... але я виявив, що це допомогло комусь із тією ж моделлю жорсткого диска: ви намагалися оновити свій BIOS?


Ні, я ні. Варто спробувати, хоча ймовірно
Grzenio

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

Якщо ви не бачите поліпшення продуктивності на другому запуску часу (третя команда), то відбувається щось інше.

Ще один фактор очікує, що режим 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 байт. Я можу лише уявити, яку біду це повинно спричинити.

Нарешті, переглядаючи результати, знову з'ясовується, що нитка журналу в значній мірі пов'язує систему. Файлова система, яка не зазначається, може тимчасово полегшити проблему, але в кращому випадку вона є профілактичною, а в гіршому випадку не вирішує проблему.


Привіт, дякую за вашу відповідь. (1) Це привід SATA і його підключено за допомогою тонкого кабелю sata до інтерфейсу sata на материнській платі. (2) Спробував перший тест, і продуктивність акуратно знизилася з 90,93 Мб / с до 52,50 МБ / сек. Виявлена ​​швидкість читання не здається проблемою (90MB - це те, що я очікую від цього накопичувача), лише те, що деякі незначні операції заморожують систему
Grzenio

Другий тест теж насправді нічого не покращив. І в першому випадку, і в другому не вдається встановити більшість параметрів: hdparm -d 1 -X mdma2 / dev / sda / dev / sda: встановлення using_dma до 1 (увімкнено) HDIO_SET_DMA не вдалося: невідповідний ioctl для установки пристрою xfermode на 34 (режим багатоскладового DMA2) HDIO_DRIVE_CMD (setxfermode) не вдалося: Недійсний обмін HDIO_GET_DMA не вдався: Невідповідний ioctl для пристрою
Grzenio

Вчора я встановив smartmontools, але не знаю, як ними користуватися. Чи можете ви детальніше розповісти?
Грзеніо

Ой. Тож новий жорсткий диск був би хорошою ідеєю.
Warren P

1

Це остаточно виправлено! Як зазначав @Rachel, проблема справді полягала в узгодженні секторів 4kb, але, на жаль, пов'язана стаття була неправильною :(

Правильний спосіб вирівнювання розділів тут: 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


2-е посилання не працює заміною?
xliiv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.