Команды 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 процессов, на выполнение которых было затрачено максимальное количество процессорного времени (учитываются процессы, не принадлежащие владельцу сценария).
В зависимости от того, насколько подробная информация вам нужна, создание набора таких сценариев может оказаться достаточно сложным делом. К счастью, существуют пакеты программного обеспечения, содержащие достаточно широкий набор функций, для применения которых требуется гораздо меньше усилий.