Iostat — это утилита командной строки, которая предоставляет подробную статистику о операциях ввода-вывода на системных устройствах, таких как диски. Она входит в состав пакета sysstat который можно установить с помощью apt. iostat помогает контролировать производительность устройств хранения, предоставляя такие показатели, как объем прочитанных или записанных данных, время ожидания операций ввода-вывода и процент времени процессора, затраченного на задачи ввода-вывода. Этот инструмент особенно полезен для диагностики узких мест диска и оптимизации производительности системы.
В этом руководстве мы узнаем, как установить и использовать программное обеспечение iostat в Ubuntu Linux. Это руководство совместимо со всеми версиями Ubuntu от 24.04 до 16.04.
Необходимые условия
- На вашем компьютере установлен рабочий стол или сервер Ubuntu.
- Пользователь без прав root с правами sudo, настроенный в вашей системе
Установка iostat
По умолчанию iostat входит в пакет sysstat в Ubuntu. Вы можете легко установить его, просто выполнив следующую команду:
sudo apt install sysstat -y
После установки sysstat вы можете перейти к следующему шагу.
Базовый пример iostat
Начнем с запуска команды iostat без каких-либо аргументов. Это отобразит информацию об использовании ЦП и статистику ввода-вывода вашей системы:
iostat
Вы должны увидеть следующий вывод:
Linux 3.19.0-25-generic (Ubuntu-PC) Saturday 16 December 2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
22.67 0.52 6.99 1.88 0.00 67.94
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 15.15 449.15 119.01 771022 204292
В первой строке вышеуказанного вывода отображается версия ядра Linux и имя хоста. В следующих двух строках отображается статистика ЦП, такая как среднее использование ЦП, процент времени, в течение которого ЦП простаивал и ожидал ответа ввода-вывода, процент времени ожидания виртуального ЦП и процент времени, в течение которого ЦП простаивал. В следующих двух строках отображается отчет об использовании устройства, такой как количество блоков, прочитанных и записанных в секунду, и общее количество блоков, прочитанных и записанных в секунду.
По умолчанию iostat отображает отчет с текущей датой. Если вы хотите отобразить текущее время, выполните следующую команду:
iostat -t
Вы должны увидеть следующий вывод:
Linux 3.19.0-25-generic (Ubuntu-PC) Saturday 16 December 2017 _x86_64_ (4 CPU)
Saturday 16 December 2017 09:44:55 IST
avg-cpu: %user %nice %system %iowait %steal %idle
21.37 0.31 6.93 1.28 0.00 70.12
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 9.48 267.80 79.69 771022 229424
Чтобы проверить версию iostat, выполните следующую команду:
iostat -V
Вывод:
sysstat version 10.2.0 (C) Sebastien Godard (sysstat orange.fr)
Вы можете перечислить все опции, доступные с помощью команды iostat, с помощью следующей команды:
iostat --help
Вывод:
Usage: iostat [ options ] [ [ ] ]
Options are:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ [ -T ] -g ] [ -p [ [,...] | ALL ] ]
[ [...] | ALL ]
Пример расширенного использования iostat
Если вы хотите просмотреть отчет об устройстве только один раз, выполните следующую команду:
iostat -d
Вы должны увидеть следующий вывод:
Linux 3.19.0-25-generic (Ubuntu-PC) Saturday 16 December 2017 _x86_64_ (4 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 12.18 353.66 102.44 771022 223320
Чтобы просматривать отчет об устройстве непрерывно каждые 5 секунд, 3 раза:
iostat -d 5 3
Вы должны увидеть следующий вывод:
Linux 3.19.0-25-generic (Ubuntu-PC) Saturday 16 December 2017 _x86_64_ (4 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 11.77 340.71 98.95 771022 223928 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 2.00 0.00 8.00 0 40 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.60 0.00 3.20 0 16
Если вы хотите просматривать статистику определенных устройств, выполните следующую команду:
iostat -p sda
Вы должны увидеть следующий вывод:
Linux 3.19.0-25-generic (Ubuntu-PC) Saturday 16 December 2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
21.69 0.36 6.98 1.44 0.00 69.53
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 11.00 316.91 92.38 771022 224744
sda1 0.07 0.27 0.00 664 0
sda2 0.01 0.05 0.00 128 0
sda3 0.07 0.27 0.00 648 0
sda4 10.56 315.21 92.35 766877 224692
sda5 0.12 0.48 0.02 1165 52
sda6 0.07 0.32 0.00 776 0
Вы также можете просматривать статистику нескольких устройств с помощью следующей команды:
iostat -p sda, sdb, sdc
Если вы хотите отобразить статистику ввода-вывода устройства в МБ/секунду, выполните следующую команду:
iostat -m
Вы должны увидеть следующий вывод:
Linux 3.19.0-25-generic (Ubuntu-PC) Saturday 16 December 2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
21.39 0.31 6.94 1.30 0.00 70.06
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 9.67 0.27 0.08 752 223
Если вы хотите просмотреть расширенную информацию для определенного раздела (sda4), выполните следующую команду:
iostat -x sda4
Вы должны увидеть следующий вывод:
Linux 3.19.0-25-generic (Ubuntu-PC) Saturday 16 December 2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
21.26 0.28 6.87 1.19 0.00 70.39
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda4 0.79 4.65 5.71 2.68 242.76 73.28 75.32 0.35 41.80 43.66 37.84 4.55 3.82
Если вы хотите отобразить только статистику использования ЦП, выполните следующую команду:
iostat -c
Вы должны увидеть следующий результат:
Linux 3.19.0-25-generic (Ubuntu-PC) Saturday 16 December 2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
21.45 0.33 6.96 1.34 0.00 69.91