PQ
PQ.Hosting

Валюта

Как проверить Linux на ошибки: логи, диск, память и сеть

Автор
PQ
12 марта 2026
4 мин чтения
138 просмотров
Как проверить Linux на ошибки: логи, диск, память и сеть

Система ведёт себя странно — зависает раз в день, диск работает медленнее чем раньше, программа падает без видимой причины. Прежде чем переустанавливать всё подряд — есть инструменты которые покажут где именно проблема. Разбираем по категориям.

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

dmesg — журнал ядра. Здесь видны сообщения о железе, драйверах, файловых системах. С читаемыми временными метками:

dmesg -T

Только ошибки и предупреждения, без информационного шума:

dmesg -T --level=err,warn

Следить за новыми сообщениями в реальном времени — полезно при диагностике:

dmesg -Tw

journalctl — журнал systemd. Показывает логи всей системы и сервисов.

Только ошибки за текущую загрузку:

journalctl -p err -b

Ошибки за предыдущую загрузку — если система упала и перезагрузилась:

journalctl -p err -b -1

Ошибки конкретного сервиса за последний час:

journalctl -u nginx --since "1 hour ago" -p err

Посмотреть список всех загрузок системы — видно когда были перезапуски:

journalctl --list-boots

Жёсткий диск и SSD: диагностика перед отказом

Диски не умирают внезапно — они предупреждают. S.M.A.R.T. собирает статистику ошибок, переназначенных секторов, температуры. Инструмент для чтения:

sudo apt install smartmontools

Полный отчёт о состоянии диска:

sudo smartctl -a /dev/sda

Заменить /dev/sda на нужное устройство. Посмотреть список дисков:

lsblk

На что смотреть в выводе smartctl:

  • Reallocated_Sector_Ct — переназначенные секторы. Любое ненулевое значение — признак деградации диска
  • Current_Pending_Sector — нестабильные секторы которые ещё не переназначены
  • Offline_Uncorrectable — сектора которые нельзя прочитать
  • SMART overall-health self-assessment: PASSED/FAILED — итоговый вердикт

Запустить быстрый встроенный тест (занимает 1-2 минуты):

sudo smartctl -t short /dev/sda

Посмотреть результат через несколько минут:

sudo smartctl -l selftest /dev/sda

Файловая система: проверка и исправление

fsck проверяет файловую систему и исправляет ошибки. Важно: запускать только на размонтированном разделе.

Проверить корневую ФС при следующей загрузке — создать файл-маркер:

sudo touch /forcefsck

При следующем старте система автоматически запустит проверку.

Проверить отдельный раздел вручную (предварительно размонтировать):

sudo umount /dev/sda1
sudo fsck -f /dev/sda1

Флаг -f форсирует проверку даже если ФС помечена как чистая. -y автоматически исправляет все найденные ошибки без вопросов:

sudo fsck -fy /dev/sda1

Оперативная память: поиск битых ячеек

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

memtest86 — загрузочный инструмент, работает до старта операционной системы. Установить в GRUB:

sudo apt install memtest86+
sudo update-grub

Перезагрузить, в меню GRUB выбрать memtest86+. Полный тест занимает несколько часов — лучше оставить на ночь.

stress-ng — нагрузочный тест прямо из запущенной системы. Нагрузить CPU, RAM и I/O на 60 секунд:

sudo apt install stress-ng
sudo stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 512M --timeout 60s --metrics-brief

Если система зависает или падает во время теста — проблема с железом. Флаг --metrics-brief покажет количество операций в секунду для каждого воркера.

Сеть: обрывы, потери пакетов, маршрут

Проверить базовую связность с потерями пакетов — расширенный ping:

ping -c 20 8.8.8.8

В строке статистики: 0% packet loss — всё хорошо. Любой процент потерь — проблема на маршруте.

Маршрут до хоста и задержка на каждом узле:

traceroute 8.8.8.8

Или mtr — объединяет ping и traceroute, обновляет данные в реальном времени:

sudo apt install mtr
mtr 8.8.8.8

Ошибки на сетевых интерфейсах — битые пакеты, коллизии:

ip -s link

Строки errors и dropped в выводе — если не ноль, проблема на уровне сетевого интерфейса или кабеля.

Полная картина за один проход

Скрипт который собирает ключевые метрики для быстрой диагностики:

echo "=== Ошибки ядра ===" && dmesg -T --level=err | tail -20
echo "=== Ошибки systemd ===" && journalctl -p err -b --no-pager | tail -20
echo "=== Диск ===" && df -h
echo "=== Память ===" && free -h
echo "=== Нагрузка ===" && uptime

Запустить и сохранить вывод в файл для анализа:

bash -c 'echo "=== dmesg errors ===" && dmesg -T --level=err | tail -20 && echo "=== journalctl errors ===" && journalctl -p err -b --no-pager | tail -20' > /tmp/diagnostics.txt

Шпаргалка

Что проверяем Команда
Ошибки ядра dmesg -T --level=err,warn
Ошибки systemd за эту загрузку journalctl -p err -b
Ошибки за прошлую загрузку journalctl -p err -b -1
Состояние диска S.M.A.R.T. sudo smartctl -a /dev/sda
Быстрый тест диска sudo smartctl -t short /dev/sda
Проверка файловой системы sudo fsck -f /dev/sda1
Нагрузочный тест железа sudo stress-ng --cpu 4 --vm 1 --vm-bytes 512M --timeout 60s
Потери пакетов ping -c 20 8.8.8.8
Маршрут с задержками mtr 8.8.8.8
Ошибки сетевого интерфейса ip -s link

Поделиться статьей

Похожие статьи