Команды vmstat, iostat, netstat и sar могут применяться для непрерывного сбора данных о производительности системы. Эти команды могут выполнять следующие функции:
Ниже приведены примеры отчетов этих программ.
# vmstat 5 2 kthr memory page faults cpu ----- ----------- ------------------------ ------------ ----------- r b avm fre re pi po fr sr cy in sy cs us sy id wa 0 1 75318 142 0 0 0 0 0 0 299 1845 315 5 2 93 0 0 1 75318 141 0 0 0 0 0 0 626 4949 842 8 6 87 0
Более подробная информация о команде vmstat приведена в разделах Команда vmstat (CPU), Команда vmstat (оперативная память) и Получение информации о производительности дисков с помощью команды vmstat.
# iostat 5 2 tty: tin tout avg-cpu: % user % sys % idle % iowait 0.0 0.5 5.2 1.8 92.7 0.3 " Хронология использования дисков с момента загрузки отсутствует. " tty: tin tout avg-cpu: % user % sys % idle % iowait 0.0 41.4 8.1 5.5 84.2 2.2 Диски: % tm_act Kbps tps Kb_read Kb_wrtn hdisk0 7.1 28.4 6.9 0 144 hdisk1 0.0 0.0 0.0 0 0 cd0 0.0 0.0 0.0 0 0
Система сохраняет хронологию использования дисков. Если функция хронологии выключена (smitty chgsys -> Непрерывно собирать хронологию дискового ввода-вывода [false]), то после вызова команды iostat появится сообщение: Хронология использования дисков с момента загрузки отсутствует. Это не влияет на периодический сбор статистики о дисковом вводе-выводе. Подробная информация об этой команде приведена в разделах Команда iostat и Получение информации о производительности дисков с помощью команды iostat.
# netstat -I tr0 5 input (tr0) output input (Total) output packets errs packets errs colls packets errs packets errs colls 725227 0 445748 0 0 799996 0 520517 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 CTRL C
Кроме того, команду netstat можно вызывать с опциями -s и -v. Более подробная информация об этом приведена в разделе Команда netstat.
# sar -P ALL 5 2 AIX rugby 3 4 00058033A100 12/01/99 11:17:41 cpu %usr %sys %wio %idle 11:17:46 0 0 0 0 100 1 0 0 0 100 2 0 0 0 100 3 0 0 0 100 - 0 0 0 100 11:17:51 0 0 0 0 100 1 0 0 0 100 2 0 0 0 100 3 0 0 0 100 - 0 0 0 100 Average 0 0 0 0 100 1 0 0 0 100 2 0 0 0 100 3 0 0 0 100 - 0 0 0 100
Более подробная информация о команде sar приведена в разделах Команда sar и Получение информации о производительности дисков с помощью команды sar.
Обратите внимание, что первый отчет команд vmstat, iostat и netstat содержит информацию, собранную с момента загрузки системы. Во втором отчете учитывается работа за первые 5 секунд. Команда sar не создает отчет с информацией, собранной с момента загрузки системы.
Эти команды служат основой для сбора данных и анализа производительности системы. Вы можете написать сценарии, которые сокращают объем вывода команд, а при снижении производительности либо отправляют предупреждение, либо сохраняют информацию о состоянии системы. Например, сценарий может сравнивать время простоя процессора с нулем и запускать другой сценарий, если процессор полностью загружен. Например, сценарий
# ps -ef | egrep -v "STIME|$LOGNAME" | sort +3 -r | head -n 15
покажет список из 15 процессов, на выполнение которых было затрачено максимальное количество процессорного времени (учитываются процессы, не принадлежащие владельцу сценария).
В зависимости от того, насколько подробная информация вам нужна, создание набора таких сценариев может оказаться достаточно сложным делом. К счастью, существуют пакеты программного обеспечения, содержащие достаточно широкий набор функций, для применения которых требуется гораздо меньше усилий.