Ответ
iotop — это утилита командной строки для мониторинга операций ввода-вывода (I/O) диска в реальном времени. Она показывает, какие процессы создают наибольшую нагрузку на подсистему хранения, аналогично тому, как top отображает загрузку CPU.
Основное назначение:
- Диагностика узких мест производительности, связанных с дисковыми операциями.
- Выявление процессов, активно читающих или записывающих данные.
- Мониторинг скорости чтения/записи (в Б/с, КБ/с, МБ/с).
Ключевые особенности и использование:
- Для получения полной информации обычно требуется запуск с правами суперпользователя.
- Отображает таблицу с процессами, сортируемую по активности I/O.
Примеры команд:
# Запуск с sudo для отображения всех процессов
sudo iotop
# Показать только процессы, активно выполняющие I/O
sudo iotop -o
# Установить интервал обновления в 2 секунды
sudo iotop -d 2
# Показать накопленную статистику I/O
sudo iotop -a
# Отображать только процессы, скрыть потоки
sudo iotop -P
Интерпретация вывода: В колонках обычно отображаются:
- TID/PID: Идентификатор потока/процесса.
- PRIO: Приоритет I/O.
- USER: Владелец процесса.
- DISK READ / DISK WRITE: Текущая скорость чтения/записи.
- SWAPIN: Процент времени, потраченного на подкачку.
- IO>: Процент времени, которое процесс тратит на операции I/O.
Применение в DevOps: Используется для анализа медленной работы приложений, баз данных или файловых серверов, когда подозрение падает на ограничения дисковой подсистемы. Часто применяется вместе с iostat и vmstat для комплексной диагностики.