Как пользоваться iostat Linux

В этой статье мы рассмотрим как пользоваться iostat и что означают основные колонки в её выводе.

Утилита iostat позволяет проанализировать загруженность системы. Она выводит основные параметры ввода и вывода данных на диск, скорость записи и чтения данных, а также количество записанных или прочитанных данных. Кроме того, утилита выводит параметры загруженности процессора. Её можно использовать для оптимизации работы системы.

Содержание статьи:

  • Описание iostat Linux
  • Использование iostat в Linux
  • Выводы

Описание iostat Linux

Синтаксис iostat очень простой. Вам достаточно выполнить:

$ iostat опции устройство интервал

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

  • – отобразить только информацию об использовании процессора;
  • -d – отобразить только информацию об использовании устройств;
  • -h – выводить данные в отчёте в удобном для чтения формате;
  • -k – выводить статистику в килобайтах;
  • -m – выводить статистику в мегабайтах;
  • -o JSON – выводить статистику в формате JSON;
  • -p – вывести статистику по устройству и всех его разделам;
  • -x – вывести расширенную статистику;
  • -y – отображать статистику с момента запуска утилиты, а не системы;
  • -z – спрятать информацию о дисках, у которых нет активности.

Использование iostat в Linux

Самый простой пример использования утилиты, это запустить её без параметров. Она выведет отчёт с со средней статистикой с момента включения системы до момента запуска программы:

sudo iostat

как пользоваться iostat

В первой части отчёта находится информация о загруженности процессора. Тут есть такие колонки:

  • %user – процент использования процессора программами, запущенными на уровне пользователя;
  • %nice – процент использования процессора программами запущенными тоже в пространстве пользователя, но только с изменённым приоритетом;
  • %system – процент использования процессора ядром;
  • %iowait – процент времени затраченного на ожидание завершения операций ввода/вывода;
  • %steal – процент простоя виртуального процессора, пока гипервизор отдаёт мощность другому виртуальному процессору;
  • %idle – процент времени пока процессор не занят ничем.

Если значение параметра %iowait слишком большое, то это может означать, что у вас проблема с производительностью диска и слишком много времени тратится на ожидание завершения ввода/вывода. Для устройств ввода/вывода тоже отображается ряд колонок с информацией. Разберемся что они означают:

  • tps – означает количество запросов на чтение или запись к устройству в секунду;
  • KB_read/s, MB_read/s – количество килобайт или мегабайт, прочитанных с устройства за секунду;
  • KB_wrtn/s, MB_wrtn/s – количество килобайт или мегабайт записанных на устройство в секунду;
  • KB_dscd/s, MB_dscd/s – скорость освобождения блоков данных на устройстве, килобайт или мегабайт в секунду;
  • KB_read, MB_read – общее количество прочитанных данных с диска с момента загрузки системы;
  • KB_wrtn, MB_wrtn – количество записанных данных с момента загрузки системы;
  • KB_dscd, MB_dscd – количество освобождённых блоков на диске в результате выполнения операции trim в килобайтах или мегабайтах.

С чтением и записью, я думаю, что всё понятно. Освобождение блоков с данными с помощью операции trim или discard актуально для SSD дисков. Этой операцией файловая система сообщает какие блоки больше хранить физически не нужно и можно использовать для других целей. Утилита отображает с какой скоростью эти блоки освобождаются, а также сколько блоков или мегабайт данных было освобождено. Рассмотрим ещё несколько примеров. Для просмотра данных в удобном формате выполните:

sudo iostat -h

Чтобы посмотреть данные по нужному устройству просто укажите это устройство:

sudo iostat /dev/nvme0n1

Можно посмотреть статистику по каждому разделу устройства, тогда надо воспользоваться опцией -p:

sudo iostat -p /dev/nvme0n1

Чтобы утилита автоматически обновляла данные каждую секунду просто добавьте интервал. Например:

sudo iostat -p /dev/nvme0n1 1

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

sudo iostat -y -p /dev/nvme0n1 1

Выводы

В этой статье была рассмотрена команда iostat Linux. Она позволяет понять почему зависает ваша система и действительно ли причина этому – жёсткий диск. Мы рассмотрели далеко не все опции утилиты и далеко не все колонки из возможного её вывода. Более подробную информацию вы можете найти выполнив:

man iostat

Самая свежая и достоверная информация, как правило, заполняется разработчиками и находится на man – страницах.

Источник


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix.ru © Все права защищены 2015 - 2024

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!