Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Среда, 14 января, 2026

7 лучших инструментов для мониторинга и отладки дискового ввода-вывода в Linux

7 лучших инструментов для мониторинга и отладки дискового ввода-вывода в Linux

Краткое описание: в этой статье мы рассмотрим лучшие инструменты для мониторинга и отладки дискового ввода-вывода (производительности) на серверах Linux.

Ключевой показатель производительности для мониторинга на сервере Linux — это активность дискового ввода-вывода (I/O), которая может существенно влиять на работу сервера Linux, в частности на скорость сохранения или извлечения файлов или данных с диска (особенно на серверах баз данных). Это напрямую влияет на производительность приложений и сервисов.

 

1. iostat — показывает статистику ввода и вывода данных на устройстве

iosat — одна из многих утилит системного мониторинга на основе терминала в пакете sysstat. Это широко используемая утилита, предназначенная для сбора статистики ЦП и ввода-вывода для блочных устройств и разделов.

Чтобы использовать iostat на сервере Linux, вам нужно установить пакет sysstat в вашей системе Linux, выполнив соответствующую команду для вашего дистрибутива Linux.

sudo apt install sysstat [В Debian, Ubuntu и Mint]
sudo yum install sysstat [В RHEL/CentOS/Fedora и Rocky Linux/AlmaLinux]
sudo emerge -a app-admin/sysstat [В Gentoo Linux]
sudo apk add sysstat [В Alpine Linux]
sudo pacman -S sysstat [В Arch Linux]
sudo zypper install sysstat [В OpenSUSE] 

 

Чтобы просмотреть простой отчёт об использовании устройств, запустите iostat с параметром -d в командной строке. Обычно в первом отчёте содержится статистика о времени, прошедшем с момента запуска системы (время загрузки), а каждый последующий отчёт касается времени, прошедшего с момента предыдущего отчёта.

Используйте -x для расширенного статистического отчета и флаг -t для отображения времени в каждом отчете. Кроме того, если вы хотите исключить из отчета устройства, на которых не было активности, добавьте флаг -z:

iostat -d -t 

 

или

iostat -d -x -t

iostat — мониторинг статистики устройств в Linux

 

 

Чтобы отображать статистику в килобайтах в секунду, а не в блоках в секунду, добавьте флаг -k или используйте флаг -m для отображения статистики в мегабайтах в секунду.

iostat -d -k

 

или

iostat -d -m

 

iostat также может отображать непрерывные отчёты об устройствах с интервалом в x секунд. Например, следующая команда отображает отчёты с интервалом в две секунды:

iostat -d 2

 

Как и в предыдущей команде, вы можете отображать n отчётов с интервалом в x секунд. Следующая команда отобразит 10 отчётов с интервалом в две секунды.

iostat -d 2 10

 

Кроме того, вы можете сохранить отчёт в файл для последующего анализа.

iostat -d 2 10 > disk_io_report.txt &

 

Дополнительную информацию о столбцах отчёта можно найти на странице руководства iostat:

man iostat

 

2. sar — отображение активности системы Linux

sar — ещё одна полезная утилита, входящая в состав пакета sysstat, предназначенная для сбора, отображения или сохранения информации об активности системы. Прежде чем начать её использовать, необходимо настроить её следующим образом.

Сначала включите сбор данных в файле /etc/default/sysstat.

sudo vi /etc/default/sysstat

 

или

sudo nano /etc/default/sysstat

 

Найдите следующую строку и измените значение на «true», как показано на рисунке.

ENABLED="true"

 

Включить Sar в Linux

 

Далее вам нужно уменьшить интервал сбора данных, указанный в заданиях cron sysstat. По умолчанию он составляет 10 минут; вы можете уменьшить его до 2 минут.

Это можно сделать в файле /etc/cron.d/sysstat:

sudo vi /etc/cron.d/sysstat

 

или

sudo nano /etc/cron.d/sysstat

 

Настройка Sar Cron в Linux

 

Сохраните файл и закройте его.

Наконец, включите и запустите службу sysstat с помощью следующей команды systemctl:

systemctl enable --now sysstat.service
systemctl start sysstat.service

 

Затем подождите 2 минуты, чтобы начать просмотр отчётов sar. Используйте команду sar и параметр командной строки -b для получения статистики по вводу-выводу и скорости передачи данных, а также -d для получения информации об активности каждого блочного устройства, как показано на рисунке.

sar -d -b

 

Sar — мониторинг активности системы Linux

 

3. iotop — мониторинг использования дискового ввода-вывода в Linux

По структуре iotop похож на инструмент для мониторинга top, но представляет собой простую утилиту, которая позволяет отслеживать активность и использование дискового ввода-вывода для каждого процесса.

Вы можете установить его на свой сервер Linux следующим образом (не забудьте ввести соответствующую команду для вашего дистрибутива Linux):

sudo apt install iotop [В Debian, Ubuntu и Mint]
sudo yum install iotop [В RHEL/CentOS/Fedora и Rocky Linux/AlmaLinux]
sudo emerge -a sys-process/iotop [В Gentoo Linux]
sudo apk add iotop [В Alpine Linux]
sudo pacman -S iotop [В Arch Linux]
sudo zypper install iotop [В OpenSUSE] 

 

Чтобы отслеживать активность ввода-вывода для каждого процесса, можно запустить iotop без каких-либо аргументов следующим образом. По умолчанию задержка между итерациями составляет 1 секунду. Это значение можно изменить с помощью флага -d.

iotop

 

или

iotop -d 2

 

iotop — мониторинг использования диска в Linux

 

iotop по умолчанию отображает все потоки процесса. Чтобы изменить это поведение и отображались только процессы, используйте параметр командной строки -P .

iotop -P

 

Кроме того, с помощью опции -a можно настроить отображение накопленных операций ввода-вывода вместо отображения пропускной способности. В этом режиме iotop показывает количество операций ввода-вывода, выполненных с момента запуска iotop.

iotop -P -a

 

4. dstat — универсальная статистика ресурсов в реальном времени

Важное обновлениеdstat официально прекращён первоначальным разработчиком. Из-за действий RedHat, направленных на присвоение имени DSTAT, первоначальный сопровождающий прекратил разработку и теперь рекомендует использовать dool в качестве преемника проекта, который полностью совместим с командами dstat и продолжает активно развиваться.

Если вы по-прежнему хотите использовать dstat (он продолжает работать в большинстве систем), вы можете установить его, как показано ниже. Однако мы настоятельно рекомендуем перейти на dool, чтобы получать постоянную поддержку и обновления.

dstat — это мощная универсальная замена старым инструментам, таким как vmstatiostat, netstat и другим. Он предоставляет статистику в реальном времени по различным системным ресурсам, включая процессор, диск, память и сеть, в понятном формате с цветовой кодировкой.

Чтобы установить dstat, используйте соответствующую команду для вашего дистрибутива Linux:

sudo apt install dstat # в Debian, Ubuntu и Mint
sudo yum install dstat # в RHEL, CentOS, Fedora, Rocky Linux, AlmaLinux
sudo emerge -a sys-process/dstat # в Gentoo Linux
sudo apk add dstat # в Alpine Linux
sudo pacman -S dstat # в Arch Linux
sudo zypper install dstat # в OpenSUSE

 

Чтобы запустить его с настройками по умолчанию (которые включают в себя ЦП, дисковый и сетевой ввод-вывод):

dstat

 

dstat — мониторинг системных ресурсов Linux в режиме реального времени

 

Если вы хотите отслеживать только активность диска, используйте:

dstat -d

 

Вы также можете комбинировать различные параметры. Например, для мониторинга процессора, памяти и диска:

dstat -cdm

 

Чтобы сохранить вывод в файл CSV для последующего анализа:

dstat -cdm --output system_stats.csv

 

dstat очень гибкий и отлично подходит для быстрого получения целостного представления о вашей системе в режиме реального времени.

 

5. dool — современный преемник dstat

dool — это активно поддерживаемая версия dstat, созданная после закрытия оригинального проекта dstat. Он на 100 % совместим с командами dstat, при этом в нём добавлены новые функции и исправлены ошибки.

dool (инструмент, совместимый с dstat) рекомендуется для новых развёртываний и предоставляет те же мощные возможности мониторинга системы в реальном времени, к которым вы привыкли в dstat.

В большинстве современных дистрибутивов Linux вы можете установить dool из исходного кода:

git clone https://github.com/scottchiefbaker/dool.git
cd dool
sudo ./install.py

 

Отличная новость заключается в том, что dool использует тот же синтаксис, что и dstat, поэтому, если вы знакомы с dstat, вы уже знаете, как использовать dool.

Чтобы запустить его с настройками по умолчанию:

dool

 

Мониторинг системных ресурсов Linux с помощью Dool

Сосредоточьтесь только на активности диска:

dool -d

 

Контролируйте процессор, память и диск одновременно:

dool -cdm

6. atop — расширенный монитор системы и процессов

atop похож на top, но на стероидах. Он предоставляет подробную информацию об использовании ресурсов каждым процессом, включая дисковый ввод-вывод, память, процессор и сеть, что делает его отличным инструментом для глубокого анализа, особенно при диагностике проблем с производительностью с течением времени.

Установите его с помощью менеджера пакетов вашего дистрибутива:

sudo apt install atop # в Debian, Ubuntu и Mint
sudo yum install atop # в RHEL, CentOS, Fedora, Rocky Linux, AlmaLinux
sudo emerge -a sys-process/atop # в Gentoo Linux
sudo apk add atop # в Alpine Linux
sudo pacman -S atop # в Arch Linux
sudo zypper install atop # в OpenSUSE

 

Чтобы запустить его:

atop
Atop — отслеживание использования ЦП, памяти, дискового ввода-вывода и сети

По умолчанию обновление происходит каждые 10 секунд. Вы можете изменить интервал следующим образом:

atop 2

 

Одна из его лучших функций — автоматическая запись данных в файл журнала (обычно в /var/log/atop/).

atop -r /var/log/atop/atop_ГГГГММДД

 

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

 

7. iotop-c (альтернатива iotop)

Хотя оригинальный iotop великолепен, существует более новая альтернатива под названием iotop-c, написанная на C, а не на Python, что делает её значительно быстрее и более ресурсоэффективной.

sudo apt install iotop-c # в Debian, Ubuntu и Mint
sudo yum install iotop-c # в RHEL, CentOS, Fedora, Rocky Linux, AlmaLinux
sudo pacman -S iotop-c # в Arch Linux

 

Чтобы запустить его:

iotop-c

 

У него тот же интерфейс, что и у iotop, но он работает быстрее, особенно в системах, где много процессов выполняют операции ввода-вывода. Используйте его так же, как обычный iotop, но ожидайте более быстрых обновлений и меньших накладных расходов.

Все привычные флаги iotop работают одинаково:

iotop-c -P # Показать только процессы, а не потоки
iotop-c -a # Показать накопленные операции ввода-вывода
iotop-c -d 2 # Обновлять каждые 2 секунды
iotop — мониторинг дискового ввода-вывода в системах с высокой нагрузкой

Это всё, что мы для вас подготовили! Нам бы хотелось узнать ваше мнение об этом руководстве или перечисленных инструментах. Оставьте комментарий в форме обратной связи ниже.

Exit mobile version