Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья4 мин чтенияПросмотры0

Как понять, почему Linux-сервер перезагрузился

Пошаговая диагностика неожиданной перезагрузки Linux: время события, история загрузок, предыдущий журнал ядра, ограничения журналирования и признаки аварийного завершения.

Комментарии 0

Серверная стойка после перезапуска с аккуратными индикаторами без надписей
В этой статье

Сервер снова доступен, но причина перезагрузки не исчезает вместе с простоем. До обновлений и новых перезапусков важно зафиксировать время события, границы предыдущей загрузки и последние сообщения ядра. Эта инструкция предназначена для Ubuntu 24.04 LTS с systemd; команды только читают состояние.

Команды сверены с документацией systemd и util-linux 26 сентября 2026 года. Они выполнены в изолированном окружении Ubuntu 24.04.3 LTS. В нём постоянный журнал и история загрузок отсутствовали, поэтому такой результат отдельно разобран ниже; аварийная перезагрузка намеренно не воспроизводилась.

1. Уточните время текущей загрузки

uptime -s

Команда показывает время запуска текущей системы. Сопоставьте его с мониторингом, обращениями и событиями провайдера. Это граница, после которой причины в текущем журнале искать поздно: интерес обычно находится в конце предыдущей загрузки.

2. Посмотрите записи о перезагрузках и выключениях

last -x --time-format iso -n 20

Опция с расширенными событиями добавляет записи перезагрузки и выключения из журнала wtmp, формат ISO упрощает сравнение часовых поясов, а ограничение числа строк защищает от длинного вывода. Запись reboot без предшествующего shutdown может указывать на нештатное завершение, но сама по себе не доказывает причину.

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

3. Проверьте, видит ли journalctl предыдущие загрузки

journalctl --list-boots --no-pager

Список содержит идентификатор, относительный номер и временные границы каждой сохранённой загрузки. Текущая обычно имеет номер 0, предыдущая — -1. Если есть только текущая загрузка, перейти к старому журналу не получится.

4. Прочитайте предупреждения предыдущей загрузки

journalctl -b -1 -p warning..alert --no-pager

Фильтр выбирает предыдущую загрузку и уровни от warning до alert. Начните с последних сообщений и смотрите контекст времени. Не каждый warning связан с перезагрузкой, а отсутствие предупреждений не исключает потерю питания: система могла не успеть записать причину.

5. Отдельно проверьте сообщения ядра

journalctl -k -b -1 --no-pager

Ищите сообщения о нехватке памяти, зависании, аппаратных ошибках, файловой системе, watchdog и панике ядра. Термин в строке ещё не равен диагнозу: например, сообщение о завершённом восстановлении файловой системы может быть следствием внезапного выключения, а не его причиной.

Наблюдение

Что оно может означать

Что проверить дальше

Корректный shutdown перед reboot

Плановый перезапуск

Кто запустил действие, обновления, автоматика

Нет конца предыдущего журнала

Потеря питания или несохранённые журналы

Консоль провайдера, питание, постоянство журнала

Сообщения OOM

Ядро завершало процессы из-за памяти

Графики RAM, swap, владельца памяти

Watchdog или lockup

Зависание системы или ядра

Версию ядра, оборудование, дамп

Ошибки диска или ФС

Проблема хранения либо последствие сбоя

SMART у провайдера, консоль, проверку в окно работ

Если journalctl пишет, что журналов нет

Сначала проверьте наличие каталога /var/log/journal и политику journald. Не создавайте каталог и не меняйте настройки только ради расследования уже прошедшего события: это не вернёт потерянные записи.

ls -ld /var/log/journal

В контейнерах журнал часто не сохраняется или управляется хостом. На VPS часть причин — аппаратный сброс, миграция узла, действие панели — видна только в консоли провайдера. Запросите события для точного интервала и укажите часовой пояс.

Когда остановиться и эскалировать

  • Перезагрузка повторяется, а в журнале есть ошибки диска, файловой системы, watchdog или паника ядра.

  • Время загрузки не совпадает с данными панели и мониторинга.

  • Предыдущий журнал отсутствует на сервере, где по политике он должен быть постоянным.

  • Перед перезапуском был OOM, но владелец памяти не установлен.

  • Для продолжения потребуется проверка файловой системы, обновление ядра или изменение конфигурации.

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

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.