LINUX.ORG.RU

Странности с hdparm и dma


0

0

debian sid

В /etc/hdparm.conf прописал:

command_line {
hdparm -d 1 /dev/hda
}

Рестартнул /etc/init.d/hdparm
Проверяю:
# hdparm -d /dev/hda
/dev/hda:
using_dma = 1 (on)

Через час замечаю, что тормозит система.
Проверяю:
# hdparm -d /dev/hda

/dev/hda:
using_dma = 0 (off)

Никаких обновлений пакетов за это время не было.

★★★★

Помню, в виндах (2k3) у меня из за глюков винта система решила отрубить dma "во избежание". Включить dma мне потом так и не удалось ;)

Может быть были какие-нибудь ошибки и ядро отрубило dma?

Проверь диск с помошью smartctl:

"smartctl -a /dev/hda" покажет кучу информации, в том числе последние ошибки. Запомни кол-во ошибок, потестируй винт с помощью "smartctl --test=short", посмотри снова инфу (smartctl -a /dev/hda). Если количество ошибок увеличилось, то у тебя не все ОК с винтом. Так-же в конце вывода "smartctl -a /dev/hda" ты найдешь инфу о проведенных когда-либо SMART-тестах.

Если все нормально, погоняй винт более крутым тестом (--test=long) и посмотри результаты. Не все HDD этот тест поддерживают (IMB ICL... не поддерживает, Seagate 7200.7 поддерживает. Попробуй.).

Кстати, если сделав "smartclt -a /dev/hda | grep "recommended polling time" можно узнать расчетное время коротного и длинного тестов.

Во время тестов (если не указать --captive), то тестирование происходит в бэкграунде, то есть система продолжает нормально работать. Captive mode замораживает систему.

И еще мысль: может это debian слишком умный? Отруби сервис, включи DMA вручную, и посмотри резуьтат через пару часов.

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

Наверное умный сервис... В dmesg глянул и обнаружил старую проблему с dma:
hda: dma_timer_expiry: dma status == 0x20
hda: DMA timeout retry
hda: timeout waiting for DMA
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }

ide: failed opcode was: unknown
hda: drive not ready for command

Решается с помощью pci=noacpi

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

Да, кстати! Про самый первый инструмент диагностики проблем, dmesg, я забыл ;)

Попробуй отрубить сервис и пожить на системе с включенным DMA и глючным винтом ;) Иногда система может замораживаться на несколько секунд, или возникать еще какие-нибудь проблемы. Если такое будет черезчур часто повторяться, переключай винт в PIO -- тормознуто, но зато ситема не будет замораживаться.

У меня есть жесткий диск, глючный немного (DMA вышибает, как у тебя, но он старый и ему это можно простить, к тому же он не основонй). Дабы не было замораживания компа, врубил ему PIO. На сохранности данных такие глюки не отражаются, то есть это не означает, что скоро все данные накроются (хотя рекомендую быть осторожным и делать бэкапы)

Если повесить на один шлейф с этим диском еще один (или сидюк), то в моменты глюков с DMA у тебя будут не доступны оба винта (или винт+сидюк).

Есть шанс, что такие глюки повторяться не будут. Или будут, но редко, и ими можно будет пренебречь.

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