Что такое iotop в Linux?

«Что такое iotop в Linux?» — вопрос из категории Linux, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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 для комплексной диагностики.