мой сервер выходил из строя в течение последних 24-48 часов, загрузка ЦП с 15% до 100%, сервер становится непригодным для использования, и все мои сайты выходят из строя в результате этого.
Какие-нибудь советы о том, как я могу отслеживать, что происходит на моем сервере?
Есть ли какие-либо предложения по программному обеспечению, которое могло бы помочь мне предотвратить неограниченную загрузку процессора и, возможно, принудительно перезагрузить компьютер?
Было бы очень полезно иметь указатель, что делать, и я был бы очень признателен. :)
Для мониторинга вы можете попробовать использовать monit - он сможет перезапустить вышедший из-под контроля сервер, если вы поставите его под его контроль.
В качестве быстрого и грязного решения вы можете использовать что-то вроде
date >> /var/log/cpu_hogs && ps -eo pcpu,pid,user,args | sort -r -k1 | head -5 >> /var/log/cpu_hogs
в cron, который будет запускаться каждые 5 минут или около того, и после сбоя посмотрите, что ело ваши процессоры непосредственно перед сбоями сервера.
Установите Munin. Также не бойтесь обнюхивать трафик
вам следует попытаться выяснить, в чем проблема. проверьте наличие / var / log / messages перед его перезагрузкой и другие журналы по времени.
чем вы можете попробовать настроить что-то вроде виртуального бокса для тестовых целей и запустить на нем свои основные серверы. это снизит производительность, но добавит стабильности, и вы сможете получить к нему доступ.
также проверьте автоматические обновления. они могли съесть ваш CPU.
Ты должен включить Учет процессов Linux если вам нужен более подробный исторический обзор того, что использовало ЦП и другие ресурсы на уровне процесса и на уровне пользователя, чем в / var / log / messages et al. обычно обеспечивает.
Что касается автоматической перезагрузки, когда сервер перестает отвечать на запросы, то, что вы захотите изучить, называется сторожевая собака (справочная страница ubuntu).