TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #1002 7.71K
​​Продолжаю рубрику костылей и велосипедов на bash. Сегодня расскажу, как я анализирую нагрузку на дисковую подсистему через консоль. Как обычно напоминаю, что это не набор лучших практик. Это мой субъективный опыт.

Сводная информация по нагрузке на диск. Использую iostat из пакета sysstat. Каждые 2 секунды вывожу информацию в консоль:
iostat -xk -t 2
С помощью этого вывода можно бегло оценить, что в целом происходит с каждым конкретным диском.

Дисковая активность всех процессов. Использую pidstat. Каждую секунду вывожу в консоль информацию о дисковой активности всех процессов.
pidstat -d 1

Дисковая активность конкретного процесса.
pidstat -p PID -d 1
Напоминаю, что PID процесса можно посмотреть командой pgrep:
pgrep php-fpm

Что пишет процесс.
strace -e trace=write -p PID

Анализ I/O дисков, в том числе latency. Я уже упоминал в прошлой заметке репозиторий https://github.com/brendangregg/perf-tools. Утилита iosnoop показывает нагрузку на диск, в том числе latency. Больше примеров тут.
./iosnoop
./iosnoop -p PID

Список удаленных открытых файлов. Еще одна полезная команда, которая позволяет решить популярную проблему, когда казалось бы места свободного должно быть много, но его реально нет. Принудительно удален какой-то открытый файл, поэтому место не освободилось.
lsof +L1
lsof | grep '(deleted)'

Список открытых файлов в конкретной директории.
lsof +D /var/log

Так же есть аналог топа - iotop. С его помощью можно в реальном времени посмотреть дисковую активность.

И еще отдельно упомяну утилиту dstat (dnf install dstat). Мне нравится её вывод (см. скриншот) по общей загрузке системы, в том числе и дисков. Все популярные метрики:
dstat -tldnpms 10
Только диски по read_bytes / write_bytes (нагрузка на "железо")
dstat --top-bio
Диски по rchar/wchar (нагрузка на "по", т.е. включая обращения ко всяким виртуальным ФС):
dstat --top-io

#bash
  • 👍 4
More from @srv_admin
  1. Sep 23, 2026Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает,…
  2. Sep 23, 2026Контейнеры в одном инструменте, виртуалки — в другом, частное облако — вообще отдельная ис…
  3. Sep 23, 2026Расскажу тем, кто не знает, и напомню тем, кто забыл, как я. Не надо в Proxmox в LXC конте…
  4. Sep 22, 2026Недавно случайно заметил любопытную информацию на тему Proxmox VE и новой функциональности…
  5. Sep 22, 2026✔️ Сети для всех — сообщество для тех, кто развивается в сетевом и системном администриров…
  6. Sep 22, 2026Я ранее уже рассказывал, что приобрёл себе домой полноценную серверную платформу на базе S…
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 →