Эффективный мониторинг ввода-вывода (I/O) имеет решающее значение для поддержания работоспособности и отзывчивости системы Linux. Мощным инструментом командной строки для этой задачи является iostat, который предоставляет подробные отчеты как о загрузке ЦП, так и о дисковой активности.
Запуск команды iostat генерирует снимок метрик производительности вашей системы.
pete@icebox:~$ iostat
Linux 3.13.0-39-lowlatency (icebox) 01/28/2016 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.13 0.03 0.50 0.01 0.00 99.33
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.17 3.49 1.92 385106 212417
Вывод разделен на две основные секции. Давайте разберем их.
Понимание метрик ЦП
Первый отчет детализирует утилизацию ЦП, предоставляя информацию о том, как процессор тратит свое время.
- %user: Процент времени ЦП, затраченного на выполнение процессов на уровне пользователя (приложений).
- %nice: Процент времени ЦП, затраченного на процессы пользовательского уровня с измененным (nice) приоритетом.
- %system: Процент времени ЦП, затраченного на выполнение процессов на уровне системы (ядра).
- %iowait: Процент времени, в течение которого ЦП простаивал в ожидании завершения активного запроса ввода-вывода диска. Высокие значения здесь могут указывать на узкое место в хранилище.
- %steal: В виртуализированной среде это процент времени, в течение которого виртуальный ЦП ожидает реальный ЦП, пока гипервизор обслуживает другой виртуальный процессор.
- %idle: Процент времени, в течение которого ЦП простаивал и не ожидал запросов ввода-вывода диска.
Анализ утилизации диска
Второй отчет фокусируется на мониторинге ввода-вывода на уровне устройств, показывая, как данные передаются на ваши устройства хранения и с них.
- tps: Количество передач в секунду, инициированных на устройстве. Передача — это запрос ввода-вывода, и несколько логических запросов могут быть объединены в один.
- kB_read/s: Объем данных, считываемых с устройства, выраженный в килобайтах в секунду.
- kB_wrtn/s: Объем данных, записываемых на устройство, выраженный в килобайтах в секунду.
- kB_read: Общее количество килобайт, считанных с устройства с момента последней перезагрузки.
- kB_wrtn: Общее количество килобайт, записанных на устройство с момента последней перезагрузки.