Мониторинг системы: top, df, free
Мониторинг системы Linux: top, htop, df, du, free — как смотреть загрузку CPU, памяти и дискового пространства.
Чтобы понять, почему сервер «тормозит», нужно видеть, что потребляет ресурсы. Команды мониторинга дают снимок состояния системы в реальном времени.
top — процессы в реальном времени
top показывает список процессов, отсортированных по потреблению CPU, и обновляется каждые несколько секунд.
top
Вывод (фрагмент верхней части):
top - 14:32:01 up 5 days, 3:22, 2 users, load average: 0.42, 0.35, 0.28 Tasks: 142 total, 1 running, 141 sleeping, 0 stopped, 0 zombie %Cpu(s): 3.2 us, 1.1 sy, 0.0 ni, 95.1 id, 0.6 wa MiB Mem : 7862.4 total, 3201.8 free, 2810.5 used, 1850.1 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 4718.6 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1234 alice 20 0 512312 45678 12345 S 5.3 0.6 0:12.34 python3 789 root 20 0 123456 12345 5678 S 0.5 0.2 1:05.22 nginx
Полезные клавиши внутри top: q — выйти, k — убить процесс по PID, M — сортировать по памяти, P — по CPU.
htop — удобная альтернатива
# Установить, если не установлен
sudo apt install htop
# Запустить
htop
htop отображает цветные полосы загрузки CPU и памяти, поддерживает мышь и позволяет сортировать колонки стрелками. Выйти — F10 или q.
Разовый снимок процессов: ps
# Все процессы с подробностями
ps aux
# Найти конкретный процесс
ps aux | grep nginx
Вывод:
root 789 0.0 0.1 12345 5678 ? Ss 09:00 0:01 nginx: master process www-data 790 0.0 0.1 12100 4567 ? S 09:00 0:00 nginx: worker process
df — дисковое пространство
# Показать использование всех смонтированных разделов
df -h
Вывод:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 22G 26G 46% / tmpfs 3.9G 1.2M 3.9G 1% /dev/shm /dev/sdb1 200G 80G 120G 40% /data
Флаг -h (human-readable) выводит размеры в ГБ/МБ вместо блоков. Если Use% близко к 100 — пора чистить диск.
du — размер каталогов
# Размер конкретного каталога
du -sh /var/log
# Топ-10 самых больших каталогов в /var
du -h /var/* | sort -rh | head -10
Вывод:
4.5G /var/log 1.2G /var/cache 340M /var/lib
free — оперативная память
# Показать доступную и занятую память
free -h
Вывод:
total used free shared buff/cache available Mem: 7.7Gi 2.7Gi 3.1Gi 125Mi 1.8Gi 4.6Gi Swap: 2.0Gi 0B 2.0Gi
Колонка available важнее, чем free: она показывает, сколько памяти реально доступно для новых приложений — Linux активно использует кэш, который мгновенно освобождается при необходимости.
Коротко
top/htop— процессы в реальном времени;qдля выхода.ps aux | grep имя— найти конкретный процесс.df -h— место на дисках;du -sh каталог— размер каталога.free -h— RAM и swap; смотрите на колонку available.