TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #849 1.31K
✍️ iotop, dstat, pidstat: поиск узких мест по диску и CPU

Когда сервер начинает тормозить, первая ошибка - сразу лезть в логи и гадать, что что-то жрет ресурсы. Гораздо полезнее сначала быстро ответить на три вопроса: кто грузит CPU, кто долбит диск, и где именно начинается узкое место.

Для такой первичной диагностики очень хорошо работают три утилиты: iotop, dstat и pidstat. Они не заменяют полноценный мониторинг, но отлично помогают, когда нужно быстро понять, что происходит прямо сейчас.

▪️ iotop - показывает, кто активно читает и пишет на диск. Если сервер упирается в I/O, обычный top это не всегда покажет. Процесс может почти не грузить CPU, но при этом убивать систему постоянной записью или чтением.

Запуск:


iotop


Полезный вариант:


iotop -o


Ключ -o оставляет только процессы, у которых прямо сейчас есть дисковая активность.

▪️ dstat - дает общую картину по системе

dstat хорош тем, что показывает сразу несколько метрик в одном месте:

CPU
disk I/O
network
memory
swap
interrupts


Пример запуска:


dstat


Более полезный вариант:


dstat -cdngym


Что здесь видно:

загрузка CPU
чтение/запись на диск
сетевой трафик
использование памяти
swap
активность файловой системы

▪️ pidstat - показывает статистику по конкретным процессам. Если top и iotop уже намекнули на виновника, pidstat помогает посмотреть детальнее.

Например, по CPU:


pidstat 1


По дисковой активности:


pidstat -d 1


По памяти:


pidstat -r 1


По отдельному процессу:


pidstat -p 1234 1


Где 1234 - это PID нужного процесса.

pidstat особенно полезен, когда нужно смотреть динамику: не просто кто сейчас наверху, а как процесс ведет себя во времени.

▪️ Как использовать это на практике:

1. Сначала смотрим общую картину


dstat -cdngym


Понимаем, куда система упирается: CPU, диск, память или сеть.

2. Если подозрение на диск


iotop -o


Сразу ищем, кто генерирует I/O.

3. Если нужен разбор по процессам


pidstat -d 1
pidstat 1


Смотрим поведение процессов в динамике.

Такой набор часто дает ответ быстрее, чем долгие догадки и хаотичный запуск всего подряд.

#linux #sysadmin

🧑‍💻 NetworkAdmin
  • 👍 8
  • ❤ 2
More from @networkadminru
  1. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  2. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  3. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  4. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
  5. Sep 22, 2026🌚 watch: простая динамическая диагностика в терминале Иногда не нужен отдельный мониторин…
  6. Sep 21, 2026👌 Firewall default deny: как внедрять без внезапного отрезания доступа Идея простая: разр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →