Ubuntu Server 20.04 зависает каждые пару дней

Короткое вступление

Уже пару дней мой физический сервер продолжает зависать каждые 2 или 3 дня. Я уже заменил все оборудование, включая диски, и заново установил Ubuntu.

Детали и выводы

Пока не повезло при поиске файлов журналов:

  • В каждом файле системного журнала или журнала ядра отображается^@^@^@^@^@^@^@^@^@^@^@^@в момент заморозки. До этого в течение как минимум 15 минут до момента зависания не было подозрительного поведения.
  • Журналы журнала последней перезагрузки можно найти здесь. Поскольку я руковожу UFW, это немного беспорядочно. Заморозка произошла ок. 09:45.
  • У меня есть сервер в моем мониторинге. Незадолго до того, как произойдет зависание, не происходит увеличения ресурсов ЦП, ОЗУ, DiskIO, дискового пространства и трафика на сетевом интерфейсе. Процессор, ОЗУ и дисковое пространство также не превышают предела.
  • Как только сервер зависает, я больше ничего не могу делать с консолью. Мне нужно перезагрузить сервер (полный сброс), чтобы он снова заработал на пару дней.
Что я запускаю на сервере:
  • nginx
  • php-fpm
  • Ларавел 8
  • уф
  • фейл2бан
  • MySQL 8
Действия, которые я уже предпринял, можно найти в похожих постах:
  • Настройка минимальной свободной оперативной памяти:
    • sysctl -w vm.min_free_kbytes=235929
    • sysctl -w vm.swappiness=5

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

Обновлять

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

1 ответ

  1. Попробуйте разные версии ядра (ядра других версий Ubuntu, например 18.04, 22.04, основная сборка ядра) и посмотрите, сохраняется ли проблема. Если ваш сервер не дает сбоев при использовании других версий ядра, значит, вы имеете дело с ошибкой ядра, затрагивающей версию 20.04.
  2. Кажется, даже если ядро ​​обнаружит сбой, оно не сможет записать проблему в системный журнал. Проверьте, видите ли вы панику ядра на консоли, но если экран выключен, вы не сможете включить его обратно с упавшим ядром. Поэтому вам следует отключить гасание экрана из-за бездействия. Также вы можете попробовать использовать аварийное ядро ​​(kdump) чтобы получить дополнительную информацию о катастрофе; или вы, вероятно, можете перенаправить вывод консоли на последовательный порт и записать его на внешнее устройство, но я никогда этого не пробовал.
  3. Вы также можете протестировать разные выпуски Ubuntu или, возможно, разные дистрибутивы Linux, но обычно в этом нет необходимости (сбои обычно вызваны ядром и его драйверами, дистрибутив, построенный на его основе, редко имеет значение). Вы даже можете попробовать другую операционную систему, например FreeBSD или Windows, чтобы проверить, продолжает ли компьютер зависать. Если зависание происходит и с другими операционными системами, у вас наверняка проблема с оборудованием.
  4. Бегатьmemtestдля обнаружения возможных неисправных модулей оперативной памяти. Memtest требует полного контроля над компьютером (вам придется загружать его вместо операционной системы), поэтому ваш сервер не сможет работать во время выполнения теста.
  5. К сожалению, аппаратные сбои могут быть довольно коварными, если неясно, в чем проблема. Я не знаю, что вы заменили, но у вас может быть даже неисправная материнская плата, процессор или блок питания. Однажды мой компьютер начал случайно выключаться. Сначала я понятия не имел, в чем причина, но потом выяснилось, что у моего шнура питания проблемы с контактами, и его замена устранила проблему.
Другие вопросы по тегам