Iotop: как отследить процесс, который грузит диск

Iotop: как отследить процесс, который грузит диск

Как понять, какой процесс перегружает диск на сервере? Разбираем работу утилиты iotop: установка, настройка и полезные приёмы для диагностики производительности Linux-систем.

Введение

Когда на сервере начинает «проседать» производительность, первая мысль администратора — проверить загрузку процессора и памяти. Но не всегда проблема в CPU или ОЗУ: иногда узким местом становится дисковая подсистема. В продакшене или на VPS замедление работы ввода-вывода способно обрушить сайт, сорвать бекап или сделать базу данных практически недоступной. Поэтому важно уметь быстро находить процессы, которые перегружают диск.

Одним из простых и удобных инструментов для диагностики в Linux является iotop. Он работает по аналогии с привычной командой top, но показывает именно активность ввода-вывода — чтение и запись на диск в реальном времени.

Аренда VPS/VDS — от ₽219/месяц

Почему выбирают VPS от AdminVPS:

✓ Дешевле физического сервера

✓ Более гибкий и мощный, чем обычный хостинг

✓ Бесплатная защита от DDoS и техподдержка 24/7

✓ Масштабируется под любые задачи

Виртуальный сервер VPS/VDS — ваш личный сервер для сайтов, магазинов, ботов и других проектов.

popup12

Проверка возможностей ядра

Для корректной работы iotop нужно, чтобы ядро поддерживало сбор статистики по дисковым операциям. Проверить это можно так:

cat /boot/config-uname -r | egrep "TASK_IO_ACCOUNTING|TASK_DELAY_ACCT"

В выводе должны быть строки:

CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_IO_ACCOUNTING=y

Если они присутствуют, значит подсчёт IO поддерживается.

Установка iotop

В современных дистрибутивах установка утилиты не вызывает проблем:

На CentOS, AlmaLinux или RHEL:

yum install iotop -y

На Ubuntu/Debian:

apt install iotop -y

После этого инструмент будет доступен в системе.

Запуск и использование

Для запуска используем команду:

iotop

По умолчанию вывод будет динамическим, с обновлением данных каждые несколько секунд. В таблице отображаются PID, имя процесса, а также скорость чтения и записи на диск.

Ключевые параметры:

  • -o — показывать только процессы, выполняющие IO в данный момент.
  • -a — выводить накопленную статистику.
  • -u username — отфильтровать по конкретному пользователю.

Пример:

iotop -oa

Это позволит увидеть, кто именно и в каком объёме грузил диск за всё время.

Что делать, если iotop не работает

На старых ядрах (например, в CentOS 5.x) iotop может не собирать статистику. В этом случае:

  1. Обновите ядро системы.
  2. Используйте альтернативы — например, pidstat -d из пакета sysstat или dstat.
  3. Для долгосрочного мониторинга полезно внедрить collectd или Prometheus с экспортёрами метрик диска.

Заключение

Iotop — это простой, но крайне полезный инструмент, который должен быть под рукой у каждого администратора. С его помощью можно в реальном времени определить, какой процесс «съедает» дисковую производительность, и принять меры: завершить тяжёлый процесс, перенести его выполнение на другое время или оптимизировать приложение.

На практике это особенно важно для серверов баз данных и веб-приложений, где задержки чтения-записи напрямую влияют на работу пользователей. Если вы управляете корпоративными сервисами или администрируете VPS, регулярный контроль ввода-вывода поможет поддерживать стабильность и предсказуемость системы.

Не стоит забывать, что диагностика — это лишь первый шаг. Если проблемы повторяются, нужно анализировать архитектуру приложения, распределять нагрузку, настраивать кеш и файрвол, а также пересматривать стратегию бекапов. В итоге именно системный подход к мониторингу и оптимизации дисковой подсистемы позволит вам избежать простоев и сохранить доверие клиентов.

Читайте в блоге:

Loading spinner
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Нужен VPS сервер?

Арендуйте мощный VPS сервер для ваших проектов! Быстрая настройка, высокая производительность и надежная поддержка 24/7. Начните прямо сейчас!

Что будем искать? Например,VPS-сервер

Мы в социальных сетях