Что такое iostat?
iostat (Input/Output Statistics) — это утилита из пакета sysstat, которая собирает данные о производительности:
Использование CPU.
Статистика ввода/вывода для устройств и разделов.
Производительность файловой системы.
Примеры использования
1. Базовая статистика. Просто вызовите iostat без параметров, чтобы увидеть общую картину:
iostat
Вывод:
avg-cpu: %user %nice %system %iowait %steal %idle
12.34 0.00 3.21 2.45 0.00 82.00
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 45.00 123.45 678.90 1234567 9876543
%iowait: Время, которое CPU ждёт операций ввода/вывода.
tps: Количество операций ввода/вывода в секунду.
kB_read/s и kB_wrtn/s: Скорость чтения и записи.
2. Обновление в реальном времени. Вывод каждые 2 секунды:
iostat 2
3. Статистика только для дисков. Если интересуют только устройства хранения:
iostat -d
Вывод:
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 45.00 123.45 678.90 1234567 9876543
4. Производительность процессора. Анализ нагрузки на CPU:
iostat -c
Вывод:
avg-cpu: %user %nice %system %iowait %steal %idle
10.00 0.00 5.00 1.00 0.00 84.00
5. Статистика для конкретного устройства. Чтобы проанализировать только диск sda:
iostat -d sda
Переключение на MB для удобства:
iostat -m
6. Детализация загрузки системы. iostat может выводить расширенные данные:
iostat -x
Вывод:
Device rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 10.00 20.00 30.00 40.00 123.00 456.00 33.40 0.10 0.50 0.30 0.70 0.40 85.00
%util: Показывает, насколько устройство занято.
Практическое применение.
1. Идентификация узких мест.
Если %iowait высок, это сигнал, что диск не справляется с запросами.
Высокий %util (>90%) на устройстве указывает на перегрузку.
2. Мониторинг в реальном времени. Используйте комбинацию с
watch:
watch -n 1 'iostat -x'
3. Сохранение данных для анализа. Чтобы сохранить статистику для последующего анализа:
iostat -x > iostat_log.txt
---
iostat - это незаменимый инструмент для мониторинга ввода/вывода и нагрузки на процессор. Он помогает быстро находить узкие места в работе серверов и принимать меры для их устранения.
BashTex 📱 #linux #utils