В статье разберём:
- как установить и использовать
iostat
для анализа устройств; - как применять
iotop
для поиска «прожорливых» процессов; - какие метрики учитывать при диагностике;
- какие ошибки встречаются и как их решать.
Что понадобится
-
Ubuntu/Debian VPS с доступом по SSH.
-
Пакеты
sysstat
(для iostat) иiotop
. -
Права root или sudo.
Использование iostat для анализа дискового ввода-вывода
iostat
входит в пакет sysstat
и показывает общую статистику по дискам и CPU. Он помогает понять, есть ли проблемы с производительностью хранилища.
Установка
sudo apt update
sudo apt install -y sysstat
Базовый запуск
iostat
По умолчанию утилита выводит средние значения с момента запуска системы.
Мониторинг в реальном времени
# обновление каждые 2 секунды, 5 раз подряд
iostat -dx 2 5
Ключевые метрики
-
%util — загрузка устройства. Если часто >80%, диск перегружен.
-
r/s и w/s — количество операций чтения/записи в секунду.
-
await — среднее время обработки запроса (мс). Высокое значение — признак «тормозящего» диска.
-
svctm — среднее время обслуживания запросов (мс).

Совет: используйте iostat -mx
для вывода в мегабайтах/секунду и более наглядной статистики.
Мониторинг процессов через iotop
iotop
показывает, какие процессы больше всего используют диск в реальном времени — аналог top
, но для I/O. Это помогает быстро выявить «прожорливые» сервисы.
Установка
sudo apt update
sudo apt install -y iotop
Запуск
sudo iotop
По умолчанию вывод обновляется раз в несколько секунд и показывает процессы с активным дисковым вводом-выводом.
Основные столбцы
-
DISK READ / DISK WRITE — текущая скорость чтения/записи процессом.
-
SWAPIN — использование подкачки.
-
IO% — доля времени, когда процесс ждал операций I/O.
-
COMMAND — команда, вызвавшая процесс.
Полезные опции
-
-o
— показывать только процессы с активным I/O. -
-a
— накопительная статистика (сумма операций с момента запуска). -
-b
— пакетный режим (удобно для логирования).

Совет: если iotop
жалуется на отсутствие прав, добавьте пользователя в группу adm
или запускайте через sudo
.
Типичные ошибки и их решения
При работе с iostat
и iotop
иногда возникают ошибки. Разберём самые распространённые.
Ошибки при использовании iostat
-
Command ‘iostat’ not found — утилита не установлена.
sudo apt install -y sysstat
-
No such file or directory для устройств — бывает, если в системе нет физических дисков (например, только виртуальные тома). В этом случае используйте
lsblk
илиdf -h
для уточнения устройств.
Ошибки при использовании iotop
-
iotop: command not found — утилита отсутствует.
sudo apt install -y iotop
-
iotop: cannot run as ordinary user — запуск без прав root. Решение:
sudo iotop
или добавьте пользователя в группу
adm
:sudo usermod -aG adm $USER
-
No I/O activity — на диске просто нет активных операций. Попробуйте сгенерировать нагрузку (например, с помощью
dd
):dd if=/dev/zero of=testfile bs=1M count=500

Совет: используйте iotop -o
, чтобы выводить только активные процессы и не путаться в «пустых» строках.
Итоги
-
Установили
iostat
из пакетаsysstat
и научились читать ключевые метрики: %util, await, r/s, w/s. -
Освоили
iotop
для мониторинга процессов, активно нагружающих диск. -
Разобрали важные опции (
-o
,-a
,-b
) и их практическое применение. -
Разобрали типичные ошибки при установке и запуске утилит.
Вывод: если нужно оценить общую нагрузку на диски — используйте iostat
. Чтобы найти конкретные процессы, «съедающие» I/O, пригодится iotop
. Вместе они дают полное понимание дисковой активности на VPS.
