IOSTAT, легкая статистика ввода/вывода, является популярным инструментом мониторинга системы в Linux, которая позволяет пользователям идентифицировать различные проблемы с производительностью, а также получить CPU и системную информацию из системы сбора статистических данных, которые она собирает. Эти статистические данные, как и предполагает название IOSTAT, включают операционную систему хранения данных ввода и вывода. Как инструмент сбора статистики, iostat является ценным для любого системного администратора.
Эта статья охватит установку и использование iostat на сервере с операционной системой Linux.
Для завершения этой статьи необходимо следующее:
Процесс установки iostat очень прост. iostat является частью пакета sysstat, который можно установить на вашей соответствующей системе одной из команд ниже:
CentOS
yum install sysstat
Ubuntu / Debian
sudo apt-get install sysstat
IOSTAT инструмент, который доступен через команду iostat. Введите эту команду, чтобы увидеть, как она работает:
iostat
Вот пример вывода при вызове команду iostat:
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 210.53 1022.33 1394.72 2214048305 3845623328
sda1 160.20 473.24 1422.29 1844686896 3295752889
sda2 21.00 320.12 145.21 1000012186 1668872653
Хотя этот отчет может, на первый взгляд, показаться очень сложным, на самом деле довольно прост. Мы объясним, по разделам, каждый аспект IOSTAT отчета, так что вы можете легко использовать отчеты для себя:
Раздел 1: Отчет CPU
В первой части отчета (площадь с процентными значениями), вы найдете статистику CPU. Здесь мы разбиваем для вас статистику, которую вы найдете. Для получения соответствующей статистики, мы добавили полезные данные жирным шрифтом, так что вы можете увидеть, что включает в обзор:
Что касается использования ЦП на уровне пользователя/приложения с и без приоритета, так и на уровне системы/ядра:
Что касается простоя процессора и время ожидания:
Раздел 2: Отчет использование устройства
Вторая часть отчета IOSTAT, который много раз больше, чем в первой секции, перечислены все устройства и отображает статистику, которая касаются их использования. Этот раздел читается по горизонтали, с каждой строки, где отображаются статистические данные для соответствующего устройства:
1. Показать мегабайт вместо байта
По умолчанию, система ввода и вывода IOSTAT измеряет в единичных байтах. Но как только байт становится мал, для более легкой усвояемости людьми мы можем преобразовать отчет для отображения отчетов с мегабайтах, которые значительно крупнее и гораздо легче понять с первого взгляда. Вызов IOSTAT используя флаг -m для отображения мегабайта внутри отчетов:
iostat -m
Обратите внимание на то, как выход в настоящее время изменен, как показано в этом примере вывода:
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 210.53 0.63 0.74 1033680 1732461
sda1 160.20 0.28 0.64 1102131 1104562
sda2 21.00 0.16 0.14 392451 321456
2. Расширенный статус вывода
В то время как первоначальный отчет все еще содержит много полезной информации, мы можем получить еще больше информации с помощью флага -x с командой IOSTAT для того, чтобы отобразить расширенные отчеты:
iostat -x
Выход IOSTAT теперь будет также включать в себя расширенный диск ввода/вывода статистической информации, как показано в данном примере ниже. Обратите внимание, что мы показали вывод, обернутый в информационную строку заголовка для столбцов устройства очень велико по сравнению с ранее:
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s \
sda 7684.00 19.00 2321.00 523.00 81848.00 5287.00 \
avgrq-sz avgqu-sz await svctm %util
29.86 32.99 11.17 0.34 100.00
Для того, чтобы понять, что означают новые расширенные столбцы, вы можете посмотреть на странице руководства для IOSTAT, либо с помощью команды:
man iostat
3. Запустите IOSTAT с задержкой
Можно указать IOSTAT принимать несколько отчетов с задержкой, известный как интервал. Это делается с помощью параметра OPTIONS, присвоенный команде IOSTAT. Однако, если только параметр INTERVAL задан, то IOSTAT будет непрерывно генерировать отчеты на этом интервале, пока вы не остановите его! Таким образом, мы также предоставим второй параметр, известный как параметр COUNT, который также является числом.
Они предоставляются IOSTAT в виде:
iostat [OPTIONS] [INTERVAL] [COUNT]
Для примера ситуации, когда мы хотим генерировать три отчета с трехсекундным интервалом между сообщениями, и показывать в мегабайтах, выполните следующую команду:
iostat -m 3 3
Последние две цифры в приведенной выше команде представляют параметр интервала и параметр подсчета. Параметр интервала, первый 3 в примере, указывает IOSTAT подождать три секунды между каждым отчетом, с каждым последующим отчетом, содержащий статистические данные за время, прошедшее с предыдущего отчета. Параметр счетчика, второй 3 в примере, говорит IOSTAT, сколько отчетов должно быть сформировано в общей сложности. Возвращаясь к нашему примеру, вывод должен выглядеть примерно следующим образом:
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 210.53 0.62 0.74 1022670 1752461
sda1 160.20 0.29 0.64 1012132 1204462
sda2 21.00 0.17 0.14 394452 312446
Через три секунды.
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 210.53 0.62 0.74 1022670 1752461
sda1 160.20 0.29 0.64 1012132 1204462
sda2 21.00 0.17 0.14 394452 312446
Еще через три секунды.
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 210.53 0.62 0.74 1022670 1752461
sda1 160.20 0.29 0.64 1012132 1204462
sda2 21.00 0.17 0.14 394452 312446
4. Выводить только один отчет на раздел
IOSTAT также позволяет изменять отчет, показать только первый раздел CPU или только раздел второго диска. Для того, чтобы показать только статистику CPU, мы можем использовать флаг -c с IOSTAT с помощью команды:
iostat -c
Мы будем использовать пример ситуации, в которой мы хотим показать раздел CPU только, используя двух-секундных интервала, и отображать информацию пять раз (то есть, сделать в общей сложности пять отчетов с одного отчета каждые две секунды только для секции CPU). Для этого выполните следующую команду:
iostat -c 2 5
Вывод будет выглядеть примерно следующим образом:
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Через две секунды.
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Еще через две секунды.
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Еще через две секунды.
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Еще через две секунды.
Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Это руководство показало основы использования мониторинга системы IOSTAT и инструмент статистики для вашей системы Linux. Более подробную информацию о возможных изменениях в отчетах можно найти в онлайн-странице руководства для IOSTAT, с помощью которых вы можете получить максимальную пользу.
Если вы нашли это введение в IOSTAT полезной, поделитесь ею с друзьями!