Диагностика жесткой блокировки в Linux
В течение прошлого месяца одна из моих машин Debian Squeeze (Linux 2.6.32-bpo.5-amd64) дважды жестко зависала. Нет ответа на ARP, темная консоль, Caps Lock, Num Lock не работает, Magic SysRq неэффективен. Изменение ядра на 3.2.0-0.bpo.2-amd64 из backports также не помогло.
Мониторинг температуры и нагрузки не показывает скачков перед аварией.
Как я должен диагностировать и отладить такую проблему?
Является ли netconsole моей единственной ставкой?
РЕДАКТИРОВАТЬ: я уже отключил гашение экрана:
#/etc/console-tools/config
BLANK_TIME=0
POWERDOWN_TIME=0
а также
setterm -blank 0
на физической консоли.
ОБНОВИТЬ:
На этот раз он заблокировался, на экране все еще отображался запрос на вход. Со времени последних проблем я без проблем запустил 6-часовой нагрузочный тест с тестом BOINC (Prime 95).
2 ответа
Поскольку зависания происходили все чаще и чаще, проблема, вероятно, была вызвана неисправной материнской платой или, менее вероятно, процессором. После замены этих компонентов проблемы исчезли.
Я нашел два возможных решения, сообщу, сработали ли они. РЕДАКТИРОВАТЬ: они не
Сначала включается nmi_watchdog путем добавления nmi_watchdog=1
к параметрам загрузки ядра.
Второй (спасибо @womble за предложение) заставлял ECC
modprobe amd64_edac_mod ecc_enable_override=1 edac_op_state=1
К сожалению, поддержка памяти ECC DDR3 в ядре 2.6.32-bpo.5-amd64 (Debian squeeze) отсутствует, мне пришлось использовать 3.2 из backports.
Я также добавил эти параметры в общие параметры ядра:
echo options amd64_edac_mod ecc_enable_override=1 edac_op_state=1 > /etc/modprobe.d/amd64_edac_mod.conf