Linux: описание утилиты iostat

Автор: | 17/09/2014

Hardware logoiostat – утилита, предназначенная для мониторинга использования дисковых разделов, входящая в набор sysstat.

Пример вызова iostat без ключей:

# iostat
Linux 2.6.32-431.23.3.el6.x86_64 (venti.domain.org.ua)         09/16/2014      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.62    0.01    0.17    1.08    0.00   98.12

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               1.07        13.98        21.50   16981726   26110684
dm-0              2.81        13.22        20.07   16056682   24366920
dm-1              0.27         0.76         1.40     918072    1698528

С первой строкой всё должно быть понятно, практически те же данные, что отображает утилита top.

По-умолчанию, iostat выводит довольно мало информации. Рассмотрим наиболее полезные ключи:

-d – отображать только использование дисков;
-c – отобразить только использование CPU;
-j – отобразить имя раздела (ID | LABEL | PATH | UUID);
-k – отобразить данные в килобайтах;
-m – отобразить данные в мегабайтах;
-p – отобразить статистику по указанному блочному устройству;
-t – отобразить время выполнения теста;
-x – отобращить расширенную статистику;

Кроме того, iostat можно вызвать с двумя ключами, передав количсетво выполнения и паузу между ними.

Напрмиер, выполнить 2 раза с интервалом в 1 секунду, только для диска sda:

# iostat -d -t -p sda 1 2
Linux 2.6.32-431.23.3.el6.x86_64 (venti.domain.org.ua)         09/16/2014      _x86_64_        (1 CPU)

09/16/2014 03:05:03 PM
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               1.07        14.00        21.59   17011358   26227292
sda1              0.00         0.00         0.04       4828      45236
sda2              1.07        14.00        21.55   17005314   26182056

09/16/2014 03:05:04 PM
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              16.00         0.00       136.00          0        136
sda1              0.00         0.00         0.00          0          0
sda2             16.00         0.00       136.00          0        136

Вывод с опцией -x предоставит больше информации:

# iostat -d -t -p sda -x
Linux 2.6.32-431.23.3.el6.x86_64 (venti.domain.org.ua)         09/16/2014      _x86_64_        (1 CPU)

09/16/2014 03:14:38 PM
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.14     1.91    0.26    0.81    14.00    21.68    33.24     0.05   45.84  10.42   1.12
sda1              0.00     0.02    0.00    0.00     0.00     0.04    53.83     0.00   36.55   9.09   0.00
sda2              0.14     1.89    0.26    0.81    14.00    21.64    33.23     0.05   45.85  10.42   1.12
Колонка Описание
rrqm/s обобщенное количество запросов на чтение в секунду;
wrqm/s обобщенное количество запросов на запись в секунду;
r/s количество запросов на чтение в секунду;
w/s количество запросов на запись в секунду;
rMB/s количество МБ при чтении с диска в секунду;
wMB/s количество МБ при записи на диск в секунду;
avgrq-sz средний размер (в секторах) запросов к диску;
avgqu-sz средний размер очереди запросов к диску;
await среднее время (милисекунды) на обработку запросов к диску (включает в себя время, потраченное в очереди на обработку и время на обработку запроса);
r_await среднее время (милисекунды) на обработку запросов чтения к диску (включает в себя время, потраченное в очереди на обработку и время на обработку запроса);
w_await среднее время (милисекунды) на обработку запросов запи ик диску (включает в себя время, потраченное в очереди на обработку и время на обработку запроса);
svctm среднее время (милисекунды) I/O запросов (не образайте внимания на неё – будет удалена в ближайшем будущем);
%util % CPU, затраченный на передачу I/O запросов к диску (“пропускная способность” диска);

Рассмотрим значения колонок при обычном, не расширенном выводе:

# iostat -d -t -p sda
Linux 2.6.32-431.23.3.el6.x86_64 (venti.domain.org.ua)         09/16/2014      _x86_64_        (1 CPU)

09/16/2014 03:39:23 PM
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               1.08        14.00        21.90   17037294   26646108
sda1              0.00         0.00         0.04       4828      45236
sda2              1.08        14.00        21.86   17031250   26600872
Колонка Описание
tps transfers per second – активность I/O операций в секунду, несколько логических запросов могут быть объедены в один;
Blk_read/s количество запросов на чтение в секунду, выраженное в блоках (512 bytes);
Blk_wrtn/s количество запросов на запись в секунду, выраженное в блоках (512 bytes);
Blk_read общее количество прочитанных блоков;
Blk_wrtn общее количество записанных блоков;

Ссылки по теме

http://www.admin-magazine.com

http://habrahabr.ru

http://beastea.blogspot.com