Мониторинг системы: 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.
Проверьте себя
1. Какая команда показывает использование дискового пространства по разделам?
Adu -h
Bdf -h
Cfree -h
Dtop
2. На что обращать внимание в выводе free -h при анализе памяти?
AТолько на колонку free
BНа колонку available — она показывает реально доступную память
CНа колонку used
DНа строку Swap
3. Как в top отсортировать процессы по потреблению памяти?
AНажать M
BНажать P
CНажать R
DНажать S
Поддержать проект