Ответ
Для мониторинга состояния Linux-сервера я регулярно использую следующий набор команд:
Мониторинг ресурсов:
top/htop— просмотр процессов, загрузки CPU и использования памяти в реальном времени.uptime— показывает время работы системы и среднюю нагрузку (load average) за 1, 5 и 15 минут.free -h— отображает информацию об использовании оперативной памяти и swap.df -h— проверяет свободное место на всех смонтированных файловых системах.
Сеть и порты:
ss -tulnp(предпочтительнееnetstat) — показывает все слушающие порты и связанные с ними процессы.nloadилиiftop— мониторинг сетевого трафика по интерфейсам в реальном времени.
Диагностика ввода/вывода и производительности:
iostat -x 1— статистика по загрузке дисковых подсистем, ключевые метрики:%utilиawait.vmstat 1— информация о процессах, памяти, свопе и активности CPU.
Анализ логов:
dmesg -T | tail -20— просмотр последних сообщений ядра для диагностики аппаратных ошибок или проблем с драйверами.journalctl -xe --since "5 minutes ago"— просмотр системных логов (для дистрибутивов с systemd).
Пример комплексной проверки:
# Быстрая проверка "здоровья" сервера
echo "=== Load Average ===" && uptime
echo "n=== Memory Usage ===" && free -h
echo "n=== Disk Space ===" && df -h /
echo "n=== Top Processes ===" && ps aux --sort=-%cpu | head -10