2.9.6.3.1.7 sar
Скачать документ Установка
Синтаксис
Параметры
Примеры использования
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Рабочая станция
- Версия ПО: sysstat-12.3.1-1
Sar (System Activity Report) — утилита для сбора статистической информации о производительности системы. Sar позволяет наблюдать за производительностью различных подсистем в реальном времени.
Вы можете подробнее ознакомиться с интерактивными утилитами динамического мониторинга процессов, просмотрев наши обучающие видео:
на RuTube — Интерактивные утилиты динамического мониторинга процессов;
в Яндекс.Дзен — Интерактивные утилиты динамического мониторинга процессов;
в VK Видео — Интерактивные утилиты динамического мониторинга процессов.
На наших каналах вы также сможете найти много другой полезной информации.
Установка
Утилита sar входит в пакет sysstat, для установки выполните команду в терминале (потребуются права администратора):
sudo dnf install sysstat
Дальнейшая работа в программе производится с правами непривилегированного пользователя.
Для получения дополнительной информации выполните команду:
man sar
Список опций можно получить с помощью параметра --help:
sar --help
Синтаксис
Утилита доступна для запуска через терминал при помощи команды следующего вида:
sar [<параметры>] [<интервал>[<счётчик>]]
Параметры
Основные параметры утилиты:
-В — статистика обмена страниц;
-b — статистика ввода-вывода и скорости передачи;
-d — статистика блочных устройств;
-F [MOUNT] — статистика файловых систем;
-H — статистика использования hugepages (больших страниц оперативной памяти);
- I { <список> | SUM | ALL } — статистика прерываний;
-m { <ключ> | ALL } — статистика управления питанием. Возможные значения:
CPU — текущая частота работы ЦП;
FAN — скорость вращения вентиляторов;
FREQ — средняя частота работы ЦП;
IN — входные напряжения;
TEMP — температура устройств;
USB — подключенные USB-устройства.
- -n { <ключ> | ALL } — сетевая статистика. Возможные значения:
DEV — статистика сетевых интерфейсов, включая количество принятых и переданных пакетов;
EDEV — статистика ошибок сетевых интерфейсов;
NFS — статистика клиента NFS;
NFSD — статистика сервера NFS;
SOCK — сокеты;
IP — IP-трафик;
EIP — ошибки IP-трафика;
ICMP — ICMP-трафик;
EICMP — ошибки ICMP-трафика;
TCP — TCP-трафик;
ETCP — ошибки TCP-трафика;
UDP — UDP-трафик;
SOCK6 — сокеты IPv6;
IP6 — IP-трафик IPv6;
EIP6 — ошибки IP-трафика IPv6;
ICMP6 — ICMP-трафик IPv6;
EICMP6 — ошибки ICMP-трафика IPv6;
UDP6 — UDP-трафик IPv6;
FC — адаптер Fibre channel;
SOFT — программная сетевая обработка.
-q [ <ключ> | PSI | ALL ] — cтатистика по загрузке и провалов нагрузки системы. Возможные значения ключа:
LOAD — cтатистика длины очереди и средней загрузки;
CPU — cтатистика провалов нагрузки ЦП CPU;
IO — cтатистика провалов нагрузки ВВ/ВЫВ;
MEM — cтатистика провалов нагрузки памяти;
-r [ ALL ] — cтатистика использования памяти;
-S — cтатистика использования области подкачки;
-u [ ALL ] — cтатистика использования ЦП;
-v — cтатистика таблиц ядра;
-W — cтатистика раздела подкачки;
-w — cтатистика создания задач и системных переключений;
-y — cтатистика устройств TTY.
Примеры использования
1. Сбор и отображение полной статистики работы процессора в течение 5 циклов с интервалом 2 секунды:
sar -u ALL 2 5
Пример вывода:
15:24:40 CPU %usr %nice %sys %iowait %steal %irq %soft %guest %gnice %idle 15:24:42 all 0,50 0,00 0,25 0,00 0,00 1,50 2,51 0,00 0,00 95,24 15:24:44 all 0,25 0,00 0,00 0,00 0,00 1,50 2,26 0,00 0,00 95,99 15:24:46 all 1,25 0,00 0,50 0,75 0,00 1,75 2,01 0,00 0,00 93,73 15:24:48 all 0,25 0,00 0,25 0,00 0,00 1,51 2,02 0,00 0,00 95,97 15:24:50 all 0,75 0,00 0,50 0,00 0,00 1,51 2,26 0,00 0,00 94,97 Среднее: all 0,60 0,00 0,30 0,15 0,00 1,56 2,21 0,00 0,00 95,18
где:
%usr — процент времени, затраченного процессором на выполнение кода, запущенного на уровне пользователя;
%nice — процент времени, затраченного процессором на выполнение кода в пользовательском пространстве с пониженным приоритетом;
%sys — процент времени, затраченного процессором на выполнение кода в системном пространстве;
%iowait — процент времени, затраченного процессором на ожидание завершения операций ввода/вывода;
%steal — процент времени, проведенного в вынужденном ожидании виртуальным процессором или ЦПУ, пока гипервизор обслуживал другой виртуальный процессор;
%irq — процент времени, затраченного процессором на обслуживание аппаратных прерываний;
%soft — процент времени, затраченного процессором на обслуживание системных прерываний;
%guest — процент времени, затраченного процессором на выполнение кода, запущенного внутри виртуальной машины;
%gnice — процент времени, затраченного процессором на выполнение кода, запущенного с помощью команды nice внутри виртуальной машины;
%idle — процент времени, когда процессор простаивает и не выполняет никаких задач.
Анализ результатов статистики состояния процессора:
idle < 20% — указывает на высокую загрузку процессора. Необходимо определить, обусловлена ли нагрузка пользовательскими приложениями (
usr
) или системными процессами (sys
);usr > 70% — процессор перегружен пользовательскими приложениями. Используйте инструменты, такие как top, htop, или pidstat, чтобы найти самые ресурсозатратные процессы;
sys > 30% — высокая системная нагрузка, ядро работает слишком интенсивно, система перегружена системными вызовами, прерываниями, драйверами; проверьте работу драйверов или включите диагностику через iostat и vmstat;
iowait > 10% — процессоры ждут операций ввода-вывода, указывая на проблемы с подсистемой хранения данных (диск или сеть), используйте iostat или sar -d для диагностики подсистемы ввода-вывода;
steal > 5% — в виртуальной среде это говорит о конкуренции за CPU с другими виртуальными машинами.
2. Сбор и вывод статистики по свободной и занятой памяти:
sar -r 2 5 --human
где:
--human — отображение результата в удобочитаемом формате.
Пример вывода:
17:17:48 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 17:17:50 473,6M 1,3G 339,9M 17,3% 22,6M 1004,0M 3,4G 86,4% 811,0M 463,1M 104,0k 17:17:52 345,2M 1,2G 438,6M 22,4% 22,9M 1,0G 4,9G 124,4% 931,3M 463,3M 848,0k 17:17:54 285,9M 1,2G 463,1M 23,6% 22,9M 1,0G 5,0G 126,8% 988,0M 463,6M 1,4M 17:17:56 193,9M 1,1G 554,6M 28,3% 23,0M 1,0G 5,8G 146,7% 1,0G 465,2M 2,5M 17:17:58 184,3M 1,1G 563,1M 28,7% 23,2M 1,0G 6,4G 161,6% 1,0G 468,5M 3,2M Среднее: 296,6M 1,2G 471,9M 24,1% 22,9M 1,0G 5,1G 129,2% 974,1M 464,7M 1,6M
где:
kbmemfree — свободная память;
kbavail — доступная память;
kbmemused — использованная память;
%memused — процент использованной памяти;
kbbuffers — память, используемая ядром как буфер;
kbcached — память, используемая ядром для кеширования данных;
kbcommit — память, необходимая для текущей рабочей нагрузки;
%commit — процент памяти, необходимый для рабочей нагрузки;
kbactive — память, использовавшаяся недавно;
kbinact — память, использовавшаяся давно;
kbdirty — память, ожидающая перезаписи.
3. Сбор и вывод статистики по использованию устройств ввода/вывода:
sar -b 2 5
Пример вывода:
15:37:53 tps rtps wtps dtps bread/s bwrtn/s bdscd/s 15:37:55 0,00 0,00 0,00 0,00 0,00 0,00 0,00 15:37:57 0,00 0,00 0,00 0,00 0,00 0,00 0,00 15:37:59 37,50 37,50 0,00 0,00 69324,00 0,00 0,00 15:38:01 104,50 101,00 3,50 0,00 154636,00 128,00 0,00 15:38:03 191,50 187,50 4,00 0,00 154880,00 208,00 0,00 Среднее: 66,70 65,20 1,50 0,00 75768,00 67,20 0,00
где:
tps — общее число передач в секунду, отправленных на физические устройства;
rtps — число запросов на чтение (в сек.), отправленных на физические устройства;
wtps — число запросов на запись (в сек.), отправленных на физические устройства;
dtps — число запросов на удаление (в сек.), отправленных на физические устройства;
bread/s — количество блоков, прочитанных (в сек.);
bwrtn/s — количество блоков, записанных (в сек.);
bdscd/s — количество блоков, отброшенных (в сек.).
4. Сбор и вывод статистики по трафику IPv4:
sar -n SOCK 3 5
Пример вывода:
15:41:48 totsck tcpsck udpsck rawsck ip-frag tcp-tw 15:41:51 869 34 8 1 0 1 15:41:54 927 55 18 1 0 2 15:41:57 930 59 12 1 0 2 15:42:00 964 81 15 1 0 2 15:42:03 976 97 12 1 0 4 Среднее: 933 65 13 1 0 2
где:
totsck — общее количество сокетов в системе;
tcpsck — количество сокетов TCP (Transmission Control Protocol);
udpsck — количество сокетов UDP (User Datagram Protocol);
rawsck — количество сокетов RAW (сокеты, которые используются для передачи данных без использования транспортного протокола);
ip-frag — количество фрагментов IP-пакетов, которые ожидают сборки;
tcp-tw — количество сокетов TCP, находящихся в состоянии TIME-WAIT (ожидание закрытия соединения).
5. Сбор и вывод статистики по средней загрузке:
sar -q 2 5
Пример вывода:
15:45:06 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 15:45:08 1 532 0,45 0,34 0,16 0 15:45:10 0 532 0,58 0,37 0,17 0 15:45:12 2 562 0,58 0,37 0,17 0 15:45:14 4 579 1,17 0,49 0,22 1 15:45:16 3 582 1,17 0,49 0,22 0 Среднее: 2 557 0,79 0,41 0,19 0
где:
runq-sz — количество задач, ожидающих начала выполнения;
plist-sz — количество задач в списке задач;
ldavg-1 — средняя загрузка системы за последнюю минуту;
ldavg-5 — средняя загрузка системы за последние 5 минут;
ldavg-15 — средняя загрузка системы за последние 15 минут;
blocked — количество задач, заблокированных в данный момент.
6. Сбор статистики ввода-вывода на уровне устройств:
sar -d 2 4
Пример вывода:
09:06:07 DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util 09:06:09 sda 3,98 0,00 35,82 0,00 9,00 0,00 0,62 0,05 09:06:09 sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 09:06:09 zram0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 09:06:09 DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util 09:06:11 sda 4,50 0,00 482,00 0,00 107,11 0,01 1,22 0,50 09:06:11 sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 09:06:11 zram0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 09:06:11 DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util 09:06:13 sda 1,00 0,00 44,00 0,00 44,00 0,01 3,00 0,25 09:06:13 sdb 1,50 0,00 8,00 0,00 5,33 0,07 21,67 3,25 09:06:13 zram0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 09:06:13 DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util 09:06:15 sda 28,00 0,00 126,00 0,00 4,50 0,12 4,12 0,50 09:06:15 sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 09:06:15 zram0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Среднее: DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util Среднее: sda 9,36 0,00 171,79 0,00 18,35 0,03 3,37 0,32 Среднее: sdb 0,37 0,00 2,00 0,00 5,33 0,02 21,67 0,81 Среднее: zram0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
где:
DEV — имя устройства, для которого собирается статистика (например, sda, sdb или nvme0n1);
tps — количество операций ввода-вывода в секунду на устройство;
rkB/s — скорость чтения данных с устройства в КБ/сек.;
wkB/s — скорость записи данных на устройство в КБ/сек.;
dkB/s — скорость операций discard (освобождения места) в КБ/сек.;
areq-sz — средний размер операций ввода-вывода в КБ;
aqu-sz — среднее количество операций ввода-вывода, ожидающих выполнения;
await — среднее время (в миллисекундах), которое запросы ввода-вывода ожидали выполнения;
%util — процент времени, в течение которого устройство было занято обработкой запросов.
Как интерпретировать статистику:
высокие значения tps, rkB/s, wkB/s указывают на активную загрузку устройства;
высокий %util (>70-80%) указывает на то, что устройство может стать узким местом;
высокий await говорит о задержках в обработке операций, что может быть вызвано очередями или высокой нагрузкой.
Дата последнего изменения: 10.12.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.