Вики / Процессы
Мониторинг системы (load, top, vmstat)
Нагрузка, CPU, память, I/O — load average, top/htop, vmstat, iostat, free.
«Сервер тормозит» — выясни чем именно: CPU, память, диск (I/O) или сеть. Начни с обзора, потом копай по подсистеме.
uptime # load average за 1/5/15 минут
top # CPU/память по процессам (интерактивно)
htop # удобнее (если установлен)
Load average ≈ среднее число процессов, ждущих выполнения (готовых + в D-сне).
Грубый ориентир: load ≈ числу ядер — норма; стабильно выше — перегрузка. Сверь с nproc.
nproc # сколько ядер (контекст для load average)
vmstat 1 # CPU/память/swap/IO раз в секунду
mpstat -P ALL 1 # загрузка по каждому ядру (пакет sysstat)
pidstat 1 # CPU по процессам в динамике (sysstat)
pidstat -d 1 # дисковый I/O по процессам
top -o %CPU # сортировка по CPU
Колонки vmstat: us пользовательский CPU, sy системный (ядро), wa iowait
(ждём диск), id простой; si/so — swap in/out (если ≠0 — свопит).
iostat -xz 1 # диски: %util, await, r/s w/s (sysstat)
iotop -o # какие процессы реально пишут/читают (нужен root)
free -h # память и swap (см. memory-swap)
sar -u 1 5 # историческая статистика CPU (sysstat)
sar -r ; sar -b ; sar -n DEV # история: память / I/O / сеть
dstat -tcdngy # всё сразу в одну строку (если установлен)
sarхранит историю (когда сбор включён:/etc/default/sysstat→ENABLED="true") — единственный способ узнать «что было ночью».
Высокий load, но CPU простаивает
Смотри iowait (vmstat 1, колонка wa) — процессы ждут диск. iostat -xz 1 →
загруженный диск (%util под 100, большой await). iotop -o → кто пишет. Часто —
медленный диск/NFS или своп (memory-swap).
Что именно ест CPU
top → P; закрепи виновника. Динамика — pidstat 1; разовый снимок —
ps aux --sort=-%cpu | head (см. processes).
Память на исходе
free -h; если swap активно растёт (si/so в vmstat) — см. memory-swap.
OOM в журнале: journalctl -k | grep -i oom.
Сеть как узкое место
sar -n DEV 1, iftop/nload (если есть), для конкретных соединений — ss -i.
Нужна история, а не «сейчас»
sar (включи сбор в sysstat) хранит статистику по времени; иначе ставь
мониторинг (prometheus + grafana).
uptime ; nproc # load average vs число ядер
top -o %CPU / htop # CPU/память по процессам
vmstat 1 # us/sy/wa (CPU/ядро/iowait), si/so (swap)
iostat -xz 1 ; iotop -o # диски / кто пишет
pidstat 1 ; pidstat -d 1 # CPU / I/O по процессам
sar -u 1 5 # история CPU
См. также
- Память и swap — Процессы
- Процессы (ps, top, kill, nice) — Процессы
- Место на диске (df, du, inode) — Хранилище и ФС