Применение sar для мониторинга работы процессора и мониторинга дискового ввода/вывода

sar — мощная утилита для генерации и чтения статистических отчётов по различным системным активностям. В дистрибутивах linux sar включен в пакет sysstat.

Утилиту sar сложно использовать для получения информации по текущему состоянию системы но она очень удобна когда нужно собрать информацию об активностях за некоторый период для дальнейшего использования.

При установке sar автоматически конфигурируется cron задание по умолчанию которое собирает дневные sar отчёты с периодичностью записей в них раз в 10 минут. Эти отчёты хранятся в файлах вида /var/log/sa/sadd где dd — день месяца соответствующий отчёту

У команды sar есть много флагов с помощью которых можно выводить информацию о разных аспектах приоводительности. Флаг —u выводит сведения об использовании процессора. Команда sar дает моментальный снимок текущей загрузики процессора. Запускайте ее регулярно чтобы составить представление о нормальной загрузке своей системы. Сравнив текущую картину с типичной вы увидите как работает система: нормально или на пределе. За любым флагом sar (в данном случае —u) следуют два числа: число секунд между последовательными замерами и число замеров.

Отчет об использовании процессора (по умолчанию):

  • %user — процент времени работы процессорав в режиме пользователя
  • %system — процент времени работы процессора в системном режиме
  • %iowait — процент времени когда процессор проистаивал в ожидании завершения ввода/ввывода
  • %idle — процент времени когда процессору нечего было делать.

# sar -u 10 8

Linux 2.6.32-194.el5 ***********   06/09/201112:45:17 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle12:45:27 PM       all      0.00      0.00      0.10      0.10      0.00     99.8012:45:37 PM       all      0.05      0.00      0.05      0.20      0.00     99.7012:45:47 PM       all      0.05      0.00      0.00      0.15      0.00     99.8012:45:57 PM       all      0.05      0.00      0.15      0.10      0.00     99.7012:46:07 PM       all      0.05      0.00      0.00      0.15      0.00     99.8012:46:17 PM       all      0.00      0.00      0.05      0.15      0.00     99.8012:46:27 PM       all      0.05      0.00      0.00      0.05      0.00     99.9012:46:37 PM       all      0.05      0.00      0.00      0.10      0.00     99.85Average:          all      0.04      0.00      0.04      0.13      0.00     99.79

Низкое значение в столбце %idle говорит о том что выполняется счетная задача или что быстродействие процессора недостаточно. Чтобы выявить счетную задачу воспользуйтесь командми ps или top. Плохо написанный запрос очень часто обращающийся к диску также может быть причиной перегрузки процессора.

Большие значения в столбце %iowait (ожидание завершения ввода/ввывода) в сочетании с высокой загрузкой процессора — повод для беспокойства. Говорит о наличии конкерентции за доступ к диску. Чтобы «отловить» виновника воспользуйтесь командой iostat.

Какое время простоя процессора следует считать нормальным? Это зависит от мощности системы и от запущенных программ. Если на короткие промежутки запускаются счетные задачи требующие много процессорного времени то среднее время простоя может быть порядка 80%. Но такая же средняя загрузка может быть характерна для систем в которых работает очень много простеньких задач. Процентная доля времени простоя не так важна по сравнению с тем каким ресрсом располоагает процессор именно в тот мометн когда должна быть срочно выполненена некоторая задача важная для бизнеса. 50-процентного простоя может оказаться недостаточнм для компании в которой счетная задача должна завершаться очень ыбстро тогда как для компании в которой запускается очень маленькая задача (потчти непотребляющая процессор) и 10 процентов с лихвой хватит.

Полезно запускать sar регуляно на протяжении всего дня. Издержки при этом минимальны зато вы сможете легко определить что происходило когда начались сложности. Хранить отчет можно в течение 30 дней. Следующая строка в таблице crontab пользователя root делает снимок состояния системы каждые 20 минут на протяжении рабочего дня.

Строка в таблице crontab которая делает снимок состояния системы каждые 20 минут на протяжении рабочего дня:

2040 8-17 * * 1-5 /usr/lib/sa/sa1

Следующая строка каждый час информирует о важных событиях имевших место в системе на протяжении рабочего дня:

5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A

Запуск sar с флагом –d позволяет выявить потенциальные проблемы с дисковвым вводом/выводом.

Команда выводит следующие данные:
%busy (процент занятости)
avque (средня длина очереди)
r+w/s (число операций чтения и записи в секунду)
blks/s (число переданных блоков в секунду)
avwait (среднее время ожидания)
avserv (среднее время обслуживания).

Большие значения в столбцах %busy и avque говорят о наличии узкого места.

У команды sar есть два числовых аргумента: число секунд между последовательными сборами статистики и число опросов. В данном примере опрос производится каждые 5 секунд а общее число опросов равно 2.

# sar -d 5 2

Linux 2.6.32-194.el5 (my.server.com)   09/06/201111:27:35 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util11:27:40 AM    dev8-0      1.60      0.00     36.73     23.00      0.01      7.50      3.00      0.4811:27:40 AM    dev8-1      1.60      0.00     36.73     23.00      0.01      7.50      3.00      0.4811:27:40 AM    dev8-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:27:40 AM    dev8-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:27:40 AM   dev8-16      0.40      0.00      6.59     16.50      0.00      3.00      3.00      0.1211:27:40 AM   dev8-19      0.40      0.00      6.59     16.50      0.00      3.00      3.00      0.1211:27:40 AM   dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:27:40 AM dev199-15000      0.20      0.00      3.19     16.00      0.00      6.00      6.00      0.1211:27:40 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util11:27:45 AM    dev8-0      3.39      0.00     60.68     17.88      0.05     15.06      3.41      1.1611:27:45 AM    dev8-1      3.39      0.00     60.68     17.88      0.05     15.06      3.41      1.1611:27:45 AM    dev8-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:27:45 AM    dev8-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:27:45 AM   dev8-16      0.40      0.00      2.59      6.50      0.00      6.50      6.50      0.2611:27:45 AM   dev8-19      0.40      0.00      2.59      6.50      0.00      6.50      6.50      0.2611:27:45 AM   dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:27:45 AM dev199-15000      0.20      0.00      1.20      6.00      0.00     13.00     13.00      0.26Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %utilAverage:       dev8-0      2.50      0.00     48.70     19.52      0.03     12.64      3.28      0.82Average:       dev8-1      2.50      0.00     48.70     19.52      0.03     12.64      3.28      0.82Average:       dev8-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00Average:       dev8-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00Average:      dev8-16      0.40      0.00      4.59     11.50      0.00      4.75      4.75      0.19Average:      dev8-19      0.40      0.00      4.59     11.50      0.00      4.75      4.75      0.19Average:      dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00Average:    dev199-15000      0.20      0.00      2.20     11.00      0.00      9.50      9.50      0.19

# sar -r

Linux 2.6.18-194.el5 *****************   07/08/201112:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad12:10:01 AM   5590312   2585244     31.62    101400    807948  10482404         0      0.00         012:20:01 AM   5595900   2579656     31.55    102020    808288  10482404         0      0.00         012:30:01 AM   5596236   2579320     31.55    102628    808652  10482404         0      0.00         012:40:01 AM   5598756   2576800     31.52    103296    808796  10482404         0      0.00         012:50:01 AM   5600040   2575516     31.50    103976    809152  10482404         0      0.00         001:00:01 AM   5598204   2577352     31.53    104540    809540  10482404         0      0.00         001:10:01 AM   5600200   2575356     31.50    105192    809680  10482404         0      0.00         001:20:01 AM   5601208   2574348     31.49    105848    810004  10482404         0      0.00         001:30:01 AM   5601764   2573792     31.48    106488    810324  10482404         0      0.00         001:40:01 AM   5603776   2571780     31.46    107180    810504  10482404         0      0.00         001:50:01 AM   5605096   2570460     31.44    107776    810860  10482404         0      0.00         002:00:01 AM   5609472   2566084     31.39    108456    811416  10482404         0      0.00         002:10:01 AM   5611108   2564448     31.37    109164    811636  10482404         0      0.00         002:20:01 AM   5612612   2562944     31.35    109768    811960  10482404         0      0.00         002:30:01 AM   5613668   2561888     31.34    110308    812312  10482404         0      0.00         002:40:01 AM   5616232   2559324     31.30    110688    812496  10482404         0      0.00         002:50:01 AM   5616780   2558776     31.30    111316    812844  10482404         0      0.00         003:00:01 AM   5617952   2557604     31.28    111812    813176  10482404         0      0.00         003:10:01 AM   5620032   2555524     31.26    112276    813324  10482404         0      0.00         003:20:01 AM   5621328   2554228     31.24    112852    813360  10482404         0      0.00         003:30:01 AM   5622200   2553356     31.23    113344    813724  10482404         0      0.00         003:40:01 AM   5624836   2550720     31.20    113820    813888  10482404         0      0.00         003:40:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad03:50:01 AM   5629124   2546432     31.15    114300    814240  10482404         0      0.00         004:00:01 AM   5630392   2545164     31.13    114772    814584  10482404         0      0.00         004:10:01 AM   5365008   2810548     34.38    140272    853208  10482404         0      0.00         004:20:01 AM   5369620   2805936     34.32    140764    848476  10482404         0      0.00         004:30:01 AM   5368992   2806564     34.33    141328    848788  10482404         0      0.00         004:40:01 AM   5369688   2805868     34.32    141912    848960  10482404         0      0.00         004:50:01 AM   5368460   2807096     34.34    142496    849320  10482404         0      0.00         005:00:01 AM   5367720   2807836     34.34    143144    849716  10482404         0      0.00         005:10:01 AM   5379488   2796068     34.20    143712    849816  10482404         0      0.00         005:20:01 AM   5380220   2795336     34.19    144212    850120  10482404         0      0.00         005:30:01 AM   5385000   2790556     34.13    144752    850388  10482404         0      0.00         005:40:01 AM   5386644   2788912     34.11    145232    850372  10482404         0      0.00         005:50:01 AM   5387768   2787788     34.10    145660    850264  10482404         0      0.00         006:00:01 AM   5389248   2786308     34.08    146196    850600  10482404         0      0.00         006:10:01 AM   5391228   2784328     34.06    146788    850280  10482404         0      0.00         006:20:01 AM   5398548   2777008     33.97    147212    845328  10482404         0      0.00         006:30:01 AM   5399656   2775900     33.95    147512    845624  10482404         0      0.00         006:40:01 AM   5411408   2764148     33.81    147844    835564  10482404         0      0.00         006:50:01 AM   5412280   2763276     33.80    148308    835892  10482404         0      0.00         007:00:01 AM   5416048   2759508     33.75    148816    836248  10482404         0      0.00         007:10:01 AM   5423944   2751612     33.66    149256    830968  10482404         0      0.00         007:20:01 AM   5430444   2745112     33.58    149684    826140  10482404         0      0.00         007:20:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad07:30:01 AM   5431352   2744204     33.57    150076    826492  10482404         0      0.00         007:40:01 AM   5432964   2742592     33.55    150588    826596  10482404         0      0.00         007:50:01 AM   5434316   2741240     33.53    150896    826928  10482404         0      0.00         008:00:01 AM   5440744   2734812     33.45    151412    822132  10482404         0      0.00         008:10:01 AM   5443276   2732280     33.42    151964    822108  10482404         0      0.00         008:20:01 AM   5445508   2730048     33.39    152384    822452  10482404         0      0.00         008:30:01 AM   5449216   2726340     33.35    152936    822756  10482404         0      0.00         008:40:01 AM   5451384   2724172     33.32    153356    822876  10482404         0      0.00         008:50:01 AM   5452800   2722756     33.30    153752    823212  10482404         0      0.00         009:00:01 AM   5453868   2721688     33.29    154292    823624  10482404         0      0.00         009:10:01 AM   5455916   2719640     33.27    154764    823768  10482404         0      0.00         009:20:01 AM   5455248   2720308     33.27    155192    824120  10482404         0      0.00         009:30:01 AM   5455936   2719620     33.27    155648    824464  10482404         0      0.00         009:40:01 AM   5457696   2717860     33.24    156068    824612  10482404         0      0.00         009:50:01 AM   5458856   2716700     33.23    156596    824972  10482404         0      0.00         010:00:01 AM   5468756   2706800     33.11    157012    820188  10482404         0      0.00         010:10:01 AM   5471068   2704488     33.08    157332    820296  10482404         0      0.00         010:20:01 AM   5472404   2703152     33.06    157832    820532  10482404         0      0.00         010:30:01 AM   5473284   2702272     33.05    158168    820884  10482404         0      0.00         010:40:01 AM   5475332   2700224     33.03    158384    820976  10482404         0      0.00         010:50:01 AM   5475296   2700260     33.03    158804    821300  10482404         0      0.00         011:00:01 AM   5476648   2698908     33.01    159224    821764  10482404         0      0.00         011:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad11:10:01 AM   5478344   2697212     32.99    159632    821872  10482404         0      0.00         011:20:01 AM   5482496   2693060     32.94    160032    822224  10482404         0      0.00         011:30:01 AM   5483772   2691784     32.92    160396    822536  10482404         0      0.00         011:40:01 AM   5485960   2689596     32.90    160812    822644  10482404         0      0.00         011:50:01 AM   5487032   2688524     32.88    161212    822968  10482404         0      0.00         0Average:      5491382   2684174     32.83    136860    825325  10482404         0      0.00         0

Когда объем свободной памяти опускается ниже определенного порога система начинает выгружать страницы на диск. Если объем свободной памяти продолжает уменьшаться система приступает к откачке процессов. И это уже признак быстрой деградации производительности. Найдите процессы которые потребляют необычно много памяти или порождают слишком много потомков.


Оригинал статьи http://pingvinoff.net/2009/01/08/komanda-sar/

0 комментариев

Оставить комментарий