Как диагностировать редкие зависания компьютера на Linux?

Как диагностировать редкие зависания компьютера на Linux?

В течение последних нескольких месяцев я сталкивался с редкими зависаниями моего настольного компьютера. Если это происходит, содержимое экрана, включая мышь, замораживается, я не могу использовать клавиатуру для перезагрузки или переключения на виртуальную консоль, а последовательности SysRq не имеют никакого эффекта — единственный вариант — это жесткий сброс через кнопку на корпусе.

В основном я использую Debian 11.6, и только иногда для игр Windows 11. Я никогда не сталкивался с зависаниями во время игр, но это может быть просто из-за того, что я мало времени трачу на это.

Непоследовательные подсказки:

  • Заморозки начались летом, когда здесь была волна тепла (> 40 °C). Поэтому я подумал, что это проблема перегрева, и действительно, осенью и зимой заморозки стали происходить реже – но они не прекратились полностью. Раньше это случалось каждые 1 или 2 дня, теперь это происходит, может быть, раз в неделю.

  • Зависания часто происходят, когда я смотрю полноэкранное видео, и иногда (но не всегда) появляется цветной узор, как будто случайные данные записаны в видеопамять. Поэтому я подумал, что это может быть проблема с видеокартой. (У меня установлен VDPAU, поэтому программы могут использовать аппаратное декодирование.) Однако зависания происходят и при обычном использовании рабочего стола.

Диагностика:

  • Я посмотрел системный журнал после перезагрузки, но там нет никакой важной информации. Последние записи часто бывают минутами раньше и относятся к стандартным системным событиям. Но это может просто означать, что последние сообщения были утеряны из-за зависания.

  • Я использовал тест нагрузки ЦП, основанный dd if=/dev/zero of=/dev/nullнаКомпьютер зависает нерегулярно, с 7 параллельными заданиями (ЦП — 4-ядерный с гиперпоточностью). htopпоказал все 8 виртуальных ядер на 100%, но это не привело к зависанию спустя ~10 минут.

  • Я установил обе memtest86и memtest86+запустил тест памяти из меню загрузки. С обеими версиями компьютер зависает примерно через секунду, но без сообщения об ошибке. Ниже приведены фотографии экрана.

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

Единственный способ последовательно и быстро вызвать заморозку, который я нашел, — это тест памяти.

Вопросы:

  • Если это действительно из-за неисправной памяти, как мне узнать, какой из четырех модулей памяти мне нужно заменить? Или мне всегда следует менять их все?

  • Я читал в нескольких похожих вопросах, что зависания могут быть вызваны неисправным блоком питания. Я заменил свой блок питания около 1½ года назад, потому что старый умер. Изначально я намеревался использовать точно такую ​​же модель, которая, однако, больше не производится, поэтому я использовал модель с немного более высокими характеристиками. Я воспользовался возможностью, чтобы тщательно очистить внутреннюю часть корпуса.

  • Что я могу сделать, чтобы лучше диагностировать эту проблему со стороны программного обеспечения? В частности, как я могу сохранить сообщения журнала вплоть до заморозки? Debian 11 использует системное ведение журнала — есть ли, например, способ отправлять сообщения на сервер вместо этого или дополнительно?

Технические характеристики системы:

  • ASUSTeK COMPUTER INC. P8Z77-M Rev 1.xx с SMBIOS 2.7
  • American Megatrends Inc. Версия BIOS 1806
  • будьте тихи! Straight Power 11 750W 750W ATX черный
  • Процессор Intel(R) Core(TM) i7-3770 с тактовой частотой 3,40 ГГц
  • 256 КБ кэша L1, 1 МБ кэша L2, 8 МБ кэша L3 (похоже, что L3 отключен, но я не помню, чтобы я это делал)
  • Набор микросхем Intel Corporation 7 серии/C216
  • 4 модуля по 4 ГБ Transcend JM1333KLN-8GK DIMM DDR3 Synchronous 1333 МГц (0,8 нс)
  • NVIDIA Corporation GP106 [GeForce GTX 1060 6 ГБ] (ревизия a1)
  • SAMSUNG SSD 830 Series и WDC WD60EFRX, оба без ошибок SMART

Компьютеру около 10 лет, так что не так уж и плохо будет купить новый. За это время я сделал несколько небольших обновлений (больше памяти, немного лучше процессор, лучше видеокарта), но ни одно из них не было настолько недавним, чтобы объяснить зависания.

Скриншоты теста памяти после заморозки:

Memtest86 Memtest86+

На втором экране красный «+» продолжает мигать после зависания, что указывает на то, что видеокарта все еще функционирует.


Дополнения:

В ответ на комментарий @Appleoddity я вынул модули памяти. Они плотно сидят в своих слотах, и они, включая контакты, чистые. Когда я вставил их обратно, я заметил, что иногда они выглядят вставленными, но на самом деле не вставлены должным образом, зафиксированы сильным нажатием. Но когда это происходит, я не получаю ошибок памяти, но компьютер вообще не запускается.

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

Затем я поместил их парами. Я не уверен, что прошел все 6 комбинаций, но во всех нескольких комбинациях, которые я пробовал, компьютер зависал на несколько секунд в тесте памяти.

Наконец, я обновил BIOS материнской платы (до последней версии 2203 от 2015-12-18), в надежде, что это как-то решит проблему или, по крайней мере, даст лучшую диагностику, но безуспешно. Я также пробовалсокращениетактовую частоту памяти в настройках BIOS, но получил сообщение об ошибке «разгон» не удался.

Что-нибудь еще можно попробовать? Может, мне просто купить совершенно новые модули памяти?

Связанный контент