Перейти к основному содержимому
Вернуться в категорию

Мониторинг ресурсов Linux VDS: CPU, RAM, диск и сеть

Полное руководство по мониторингу ресурсов Linux VDS-сервера: команды htop, free, df, iostat, инструменты сети и скрипты автоматических оповещений.

Время чтения: 9 мин. Управление сервером
cpuramдискhtopмониторингпроизводительностьlinux

Содержание

Введение

Регулярный мониторинг ресурсов сервера критически важен для раннего обнаружения проблем с производительностью и планирования ёмкости. В этом руководстве вы узнаете основные команды и инструменты для мониторинга CPU, RAM, диска и сети на Linux VDS-сервере.

Мониторинг CPU

Команда top

Основной инструмент мониторинга системы:

hljs bash
top

Важные поля:

  • %us: Использование CPU пользовательскими процессами
  • %sy: Использование CPU системными процессами
  • %id: Процент простоя CPU
  • load average: Средняя нагрузка за 1, 5 и 15 минут

В top нажмите клавишу 1, чтобы увидеть каждое ядро CPU отдельно.

Команда htop

Более удобная версия top:

hljs bash
# Установка
sudo apt install htop -y  # Ubuntu/Debian
sudo dnf install htop -y  # Rocky/AlmaLinux

# Запуск
htop

Преимущества htop:

  • Цветной и наглядный интерфейс
  • Поддержка мыши
  • Древовидное отображение процессов
  • Удобная фильтрация и сортировка

Команда mpstat

Детальная статистика CPU по ядрам:

hljs bash
sudo apt install sysstat -y
mpstat -P ALL 1 5

Мониторинг RAM

Команда free

Самый быстрый способ просмотра использования памяти:

hljs bash
free -h

Пример вывода:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.1Gi       3.2Gi       156Mi       2.5Gi       5.3Gi
Swap:         2.0Gi          0B       2.0Gi

Linux использует свободную RAM как дисковый кэш (buff/cache). Реальная доступная память указана в столбце available.

Команда vmstat

Отображает статистику памяти, swap и CPU вместе:

hljs bash
vmstat 1 10

Важные столбцы:

  • si/so: Swap in/out (высокие значения — недостаточно RAM)
  • free: Свободная память
  • cache: Кэш

Мониторинг диска

Команда df

Показывает заполненность разделов диска:

hljs bash
df -h

Когда использование диска превышает 90%, требуется срочное вмешательство. Полностью заполненный диск может привести к сбою сервера.

Команда du

Анализ использования диска по каталогам:

hljs bash
# 10 самых больших каталогов
du -sh /* 2>/dev/null | sort -rh | head -10

# Детали конкретного каталога
du -sh /var/log/*

Команда iostat

Мониторинг производительности дискового ввода-вывода:

hljs bash
sudo apt install sysstat -y
iostat -x 1 5

Важные метрики:

  • %util: Загруженность диска (>80% — проблема)
  • await: Среднее время ожидания I/O (мс)
  • r/s, w/s: Операции чтения/записи в секунду

Мониторинг сети

Команда iftop

Отображает сетевой трафик в реальном времени по соединениям:

hljs bash
sudo apt install iftop -y
sudo iftop -i eth0

Команда nload

График входящего и исходящего трафика:

hljs bash
sudo apt install nload -y
nload eth0

Команда ss

Список активных сетевых соединений:

hljs bash
# Все прослушиваемые порты
ss -tlnp

# Все активные соединения
ss -tnp

Комплексный мониторинг: сводка одной командой

Для быстрого обзора состояния системы:

hljs bash
echo '=== CPU ===' && uptime && echo '\n=== RAM ===' && free -h && echo '\n=== DISK ===' && df -h / && echo '\n=== TOP 5 PROCESS ===' && ps aux --sort=-%mem | head -6

Автоматический мониторинг и оповещения

Простой скрипт оповещения о диске

hljs bash
#!/bin/bash
USAGE=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $USAGE -gt 85 ]; then
  echo "ВНИМАНИЕ: Использование диска $USAGE%" | mail -s "Предупреждение о диске" admin@company.com
fi

Добавьте в crontab:

hljs bash
crontab -e
# Проверка каждый час
0 * * * * /root/disk-check.sh

Использование Swap

Высокое использование swap означает нехватку RAM:

hljs bash
# Проверка использования swap
swapon --show
free -h

# Какие процессы используют swap
for f in /proc/*/status; do awk '/VmSwap/{if($2>0)print FILENAME,$0}' $f 2>/dev/null; done | sort -k3 -rn | head -10

Постоянно высокое использование swap серьёзно снижает производительность. Рассмотрите увеличение объёма RAM.

Заключение

Регулярный мониторинг ресурсов необходим для поддержания работоспособности сервера и раннего обнаружения проблем. Добавьте команды htop, df -h и free -h в ежедневную рутину. Если использование ресурсов постоянно высокое, вы можете повысить тариф через панель REXE.