Sysstat мониторинг производительности системы

sysstat — удобная утилита для измерения и анализа производительности системы. Можно получить доступ к системным характеристикам (загруженность процессора, i/o wait, использование памяти и прочее) указав в качестве параметра временной интервал, например статистику за последний день можно получить так.

sar -u
Linux 2.6.32-5-686 (debian.server)    21.11.2013      _i686_  (1 CPU)
13:05:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:15:01        all      1,55      0,00      0,46      0,62      0,00     97,36
13:25:01        all      1,30      0,00      0,45      0,45      0,00     97,80
13:35:01        all      2,98      0,00      0,58      0,69      0,00     95,75
13:45:01        all      1,78      0,00      0,50      0,65      0,00     97,07
13:55:01        all      1,23      0,00      0,46      0,53      0,00     97,78
14:05:01        all      3,24      0,00      3,36      1,59      0,00     91,81
14:15:01        all      1,83      0,00      0,51      0,74      0,00     96,92
Среднее:        all      1,99      0,00      0,90      0,75      0,00     96,36


За указанное число: так

sar -f /var/log/sysstat/sa21
Linux 3.2.0-4-686-pae (debian.server)    21.11.2013      _i686_  (4 CPU)
16:05:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
16:15:01        all      0,28      0,00      0,23      0,12      0,00     99,37
16:25:01        all      0,17      0,00      0,22      0,08      0,00     99,54
16:35:01        all      0,26      0,00      0,23      0,10      0,00     99,41
16:45:01        all      0,18      0,00      0,23      0,08      0,00     99,52
16:55:01        all      0,23      0,00      0,23      0,11      0,00     99,43
17:05:01        all      0,21      0,00      0,22      0,10      0,00     99,47
17:15:01        all      0,25      0,00      0,24      0,12      0,00     99,39
17:25:01        all      0,20      0,00      0,23      0,10      0,00     99,46
17:35:01        all      0,28      0,00      0,23      0,12      0,00     99,38
17:45:01        all      0,18      0,00      0,23      0,09      0,00     99,50
17:55:01        all      0,26      0,00      0,23      0,09      0,00     99,42
18:05:01        all      0,31      0,00      0,22      0,11      0,00     99,35
18:15:01        all      0,29      0,00      0,23      0,13      0,00     99,35
18:25:01        all      0,21      0,00      0,22      0,10      0,00     99,47
18:35:01        all      0,20      0,00      0,23      0,08      0,00     99,48
18:45:01        all      0,21      0,00      0,23      0,09      0,00     99,47
18:55:01        all      0,23      0,00      0,22      0,10      0,00     99,45
19:05:01        all      0,21      0,00      0,22      0,09      0,00     99,48
19:15:01        all      0,20      0,00      0,21      0,07      0,00     99,53
19:25:01        all      0,25      0,00      0,24      0,11      0,00     99,40
19:35:01        all      0,18      0,00      0,22      0,10      0,00     99,50
19:45:01        all      0,25      0,00      0,24      0,12      0,00     99,38
Среднее:        all      0,23      0,00      0,23      0,10      0,00     99,44
aptitude search sysstat
p   sysstat             - system performance tools for Linux
aptitude update && aptitude install -y sysstat
service sysstat start

Включим автозапуск демона sysstat

sed -i.back /ENABLED/s/false/true/ /etc/default/sysstat

Sysstat включает в себя следующие утилиты

  • sar — утилита для просмотра системных характеристик, логирование осуществляется с помощью бэкенда sadc
  • sadf — генерирует отчеты sar в формате CSV или XML
  • iostat — статистика ввода/вывода
  • mpstat — статистика CPU
  • pidstat — статистика по PID процесса
    pidstat -p 1060
    Linux 2.6.32-5-686 (debian.server)    21.11.2013      _i686_  (1 CPU)
    13:41:41          PID    %usr %system  %guest    %CPU   CPU  Command
    13:41:41         1060    0,00    0,00    0,00    0,00     0  nginx
  • nfsiostat — статистика NFS
  • cifsiostat — статистика CIFS

По умолчанию sar собирает статистику каждые 10 минут и в конце дня

cat /etc/cron.d/sysstat
# The first element of the path is a directory where the debian-sa1
# script is located
PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin
# Activity reports every 10 minutes everyday
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
# Additional run at 23:59 to rotate the statistics file
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2

Примеры использования sar

  1. Статистика по процессорам за текущий день
    sar -u
    3:05:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
    13:15:01        all      1,55      0,00      0,46      0,62      0,00     97,36
    13:25:01        all      1,30      0,00      0,45      0,45      0,00     97,80
    13:35:01        all      2,98      0,00      0,58      0,69      0,00     95,75
    13:45:01        all      1,78      0,00      0,50      0,65      0,00     97,07
    13:55:01        all      1,23      0,00      0,46      0,53      0,00     97,78
    14:05:01        all      3,24      0,00      3,36      1,59      0,00     91,81
    14:15:01        all      1,83      0,00      0,51      0,74      0,00     96,92
    14:25:01        all      2,59      0,00      0,54      0,88      0,00     96,00
    14:35:01        all     15,01      0,00      1,00      0,75      0,00     83,23
    14:45:01        all      2,81      0,00      0,51      0,71      0,00     95,97
    Среднее:        all      3,43      0,00      0,84      0,76      0,00     94,97
  2. Статистика по процессорам в реальном времени, с интервалом обновления 1 сек.
    sar -u 1
  3. Статистика по процессорам с интервалом обновления 1 сек с выводом 3-х состояний
    sar -u 1 3
    14:54:08        CPU     %user     %nice   %system   %iowait    %steal     %idle
    14:54:09        all      0,00      0,00      1,00      0,00      0,00     99,00
    14:54:10        all      7,00      0,00      1,00      0,00      0,00     92,00
    14:54:11        all      0,00      0,00      1,00      0,00      0,00     99,00
    Среднее:        all      2,33      0,00      1,00      0,00      0,00     96,67
  4. Статистика за прошедший период находитится в файлах журналов /var/log/sysstat/
    sar -f /var/log/sysstat/sa21
    Linux 2.6.32-5-686 (debian.server)    21.11.2013      _i686_  (1 CPU)
    13:05:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
    13:15:01        all      1,55      0,00      0,46      0,62      0,00     97,36
    13:25:01        all      1,30      0,00      0,45      0,45      0,00     97,80
    13:35:01        all      2,98      0,00      0,58      0,69      0,00     95,75
    13:45:01        all      1,78      0,00      0,50      0,65      0,00     97,07
    13:55:01        all      1,23      0,00      0,46      0,53      0,00     97,78
    14:05:01        all      3,24      0,00      3,36      1,59      0,00     91,81
    14:15:01        all      1,83      0,00      0,51      0,74      0,00     96,92
    14:25:01        all      2,59      0,00      0,54      0,88      0,00     96,00
    14:35:01        all     15,01      0,00      1,00      0,75      0,00     83,23
    14:45:01        all      2,81      0,00      0,51      0,71      0,00     95,97
    14:55:01        all      2,11      0,00      0,53      0,77      0,00     96,59
  5. Статистика по всем ядрам (в данном случае 4)
    sar -P ALL
    16:05:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
    16:15:01        all      0,28      0,00      0,23      0,12      0,00     99,37
    16:15:01          0      0,32      0,00      0,66      0,10      0,00     98,91
    16:15:01          1      0,13      0,00      0,02      0,13      0,00     99,72
    16:15:01          2      0,34      0,00      0,04      0,14      0,00     99,48
    16:15:01          3      0,33      0,00      0,18      0,12      0,00     99,37
    Среднее:     CPU     %user     %nice   %system   %iowait    %steal     %idle
    Среднее:     all      0,28      0,00      0,23      0,12      0,00     99,37
    Среднее:       0      0,32      0,00      0,66      0,10      0,00     98,91
    Среднее:       1      0,13      0,00      0,02      0,13      0,00     99,72
    Среднее:       2      0,34      0,00      0,04      0,14      0,00     99,48
    Среднее:       3      0,33      0,00      0,18      0,12      0,00     99,37
  6. Можно также указывать временные интервалы
    sar -P ALL 1 2
    Linux 3.2.0-4-686-pae (debian.server)    21.11.2013      _i686_  (4 CPU)
    16:23:48        CPU     %user     %nice   %system   %iowait    %steal     %idle
    16:23:49        all      0,25      0,00      0,50      0,00      0,00     99,25
    16:23:49          0      1,00      0,00      1,00      0,00      0,00     98,00
    16:23:49          1      0,00      0,00      0,00      0,00      0,00    100,00
    16:23:49          2      0,00      0,00      0,00      0,00      0,00    100,00
    16:23:49          3      0,00      0,00      0,00      0,00      0,00    100,00
    16:23:49        CPU     %user     %nice   %system   %iowait    %steal     %idle
    16:23:50        all      0,25      0,00      0,25      0,25      0,00     99,25
    16:23:50          0      0,00      0,00      2,00      0,00      0,00     98,00
    16:23:50          1      0,00      0,00      0,00      0,00      0,00    100,00
    16:23:50          2      0,00      0,00      0,00      0,99      0,00     99,01
    16:23:50          3      0,00      0,00      0,00      0,00      0,00    100,00
    Среднее:     CPU     %user     %nice   %system   %iowait    %steal     %idle
    Среднее:     all      0,25      0,00      0,37      0,12      0,00     99,25
    Среднее:       0      0,50      0,00      1,50      0,00      0,00     98,00
    Среднее:       1      0,00      0,00      0,00      0,00      0,00    100,00
    Среднее:       2      0,00      0,00      0,00      0,50      0,00     99,50
    Среднее:       3      0,00      0,00      0,00      0,00      0,00    100,00
  7. И ограничивать выборку конкретным ядром
    sar -P 1 1 1
    Linux 3.2.0-4-686-pae (debian.server)    21.11.2013      _i686_  (4 CPU)
    16:25:14        CPU     %user     %nice   %system   %iowait    %steal     %idle
    16:25:15          1      0,00      0,00      0,00      0,00      0,00    100,00
    Среднее:       1      0,00      0,00      0,00      0,00      0,00    100,00
  8. Статистика использования памяти
    sar -r
    16:05:01    kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
    16:15:01       258800   1815628     87,52    293992    951044    964064     11,63   1125664    604228
    16:25:01       258304   1816124     87,55    293992    951072    964372     11,64   1126572    603620
    Среднее:    258552   1815876     87,54    293992    951058    964218     11,63   1126118    603924
  9. Использования swap
    sar -S
    16:05:01    kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
    16:15:01      6196628     16996      0,27      3264     19,20
    16:25:01      6196628     16996      0,27      3264     19,20
    Среднее:   6196628     16996      0,27      3264     19,20
  10. Статистика по блочным устройства
    sar -p -d 1 1
    Linux 3.2.0-4-686-pae (debian.server)    21.11.2013      _i686_  (4 CPU)
    19:38:30          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
    19:38:31     dev254-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
    19:38:31     www-root      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
    19:38:31     www-swap_1    0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
    19:38:31     www-home      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
    Среднее:       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
    Среднее:  dev254-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
    Среднее:  www-root      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
    Среднее:  www-swap_1    0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
    Среднее:  www-home      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
  11. Статистика использования сети
    sar -n [DEV, EDEV, SOCK, NFS, NFSD, IP, TCP, ETCP, UDP, ICMP, EICMP, ALL]

Оригинал здесь 10 Useful Sar (Sysstat) Examples for UNIX / Linux Performance Monitoring
Примеры использования Pidstat

  1. I/O статистика
    pidstat -d 5 15
  2. Статистика для комманды (может быть задана через регулярное выражение)
    pidstat -C nginx -p ALL -l
    Linux 3.2.0-4-686-pae (debian.server)    21.11.2013      _i686_  (4 CPU)
    21:13:41          PID    %usr %system  %guest    %CPU   CPU  Command
    21:13:41         2102    0,00    0,00    0,00    0,00     0  /bin/sh /etc/init.d/nginx start
    21:13:41         2108    0,00    0,00    0,00    0,00     3  /usr/sbin/nginx -t
    21:13:41         9042    0,00    0,00    0,00    0,00     2  nginx: master process /usr/sbin/nginx
    21:13:41         9043    0,00    0,00    0,00    0,00     1  nginx: worker process
    21:13:41         9044    0,00    0,00    0,00    0,00     2  nginx: worker process
    21:13:41         9045    0,00    0,00    0,00    0,00     2  nginx: worker process
    21:13:41         9046    0,00    0,00    0,00    0,00     0  nginx: worker process
  3. Статистика по использованию памяти, будет показано 5 отчетов с интервалом в 2 сек для PID 9042
    pidstat -r -p 9042 2 5
    Linux 3.2.0-4-686-pae (debian.server)    21.11.2013      _i686_  (4 CPU)
    21:22:18          PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
    21:22:20         9042      0,00      0,00   20492   2416   0,12  nginx
    21:22:22         9042      0,00      0,00   20492   2416   0,12  nginx
    21:22:24         9042      0,00      0,00   20492   2416   0,12  nginx
    21:22:26         9042      0,00      0,00   20492   2416   0,12  nginx
    21:22:28         9042      0,00      0,00   20492   2416   0,12  nginx
    Среднее:         9042      0,00      0,00   20492   2416   0,12  nginx

Примеры использования iostat
IOSTAT — утилита для мониторинга дисковой подсистемы ввода/вывода (input/output)

  1. Без параметров iostat покажет значения с момента загрузки
    iostat
    Linux 3.2.0-4-686-pae (debian.server)    23.11.2013      _i686_  (4 CPU)
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0,26    0,00    0,23    0,08    0,00   99,43
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    vda               0,66         0,22        12,27    1810205   99567483
    dm-0              0,67         0,05         6,23     427077   50522356
    dm-1              0,00         0,00         0,00       3528      17904
    dm-2              0,23         0,17         6,04    1376153   49027220
  2. В качестве параметров также принимаются временные интервалы. Например, статистику ввода/вывода с интервалом в 2 сек 3 отчета
    iostat -d 2 3
    Linux 3.2.0-4-686-pae (debian.server)    23.11.2013      _i686_  (4 CPU)
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    vda               0,66         0,22        12,27    1810585   99568731
    dm-0              0,67         0,05         6,23     427345   50523532
    dm-1              0,00         0,00         0,00       3580      17904
    dm-2              0,23         0,17         6,04    1376157   49027292
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    vda               0,00         0,00         0,00          0          0
    dm-0              0,00         0,00         0,00          0          0
    dm-1              0,00         0,00         0,00          0          0
    dm-2              0,00         0,00         0,00          0          0
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    vda               0,00         0,00         0,00          0          0
    dm-0              0,00         0,00         0,00          0          0
    dm-1              0,00         0,00         0,00          0          0
    dm-2              0,00         0,00         0,00          0          0
  3. Статистика для /dev/sda интевал 2 секунды, 3 отчета
    iostat -p vda 2 3
    Linux 3.2.0-4-686-pae (debian.server)    23.11.2013      _i686_  (4 CPU)
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0,26    0,00    0,23    0,08    0,00   99,43
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    vda               0,66         0,22        12,27    1810585   99568767
    vda1              0,00         0,00         0,00       2505          3
    vda2              0,00         0,00         0,00          2          0
    vda5              0,66         0,22        12,27    1807338   99568764
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0,12    0,00    0,25    0,00    0,00   99,63
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    vda               0,00         0,00         0,00          0          0
    vda1              0,00         0,00         0,00          0          0
    vda2              0,00         0,00         0,00          0          0
    vda5              0,00         0,00         0,00          0          0
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0,25    0,00    0,25    0,00    0,00   99,50
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    vda               0,00         0,00         0,00          0          0
    vda1              0,00         0,00         0,00          0          0
    vda2              0,00         0,00         0,00          0          0
    vda5              0,00         0,00         0,00          0          0
  4. Расширенная статистика для vda
    iostat -x vda 2 3
    Linux 3.2.0-4-686-pae (debian.server)    23.11.2013      _i686_  (4 CPU)
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0,26    0,00    0,23    0,08    0,00   99,43
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    vda               0,00     0,24    0,01    0,65     0,22    12,27    38,02     0,02   36,73    2,21   37,27  11,92   0,78
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0,00    0,00    0,38    0,00    0,00   99,62
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    vda               0,00     0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00    0,00    0,00   0,00   0,00
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0,12    0,00    0,37    0,00    0,00   99,50
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    vda               0,00     0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00    0,00    0,00   0,00   0,00

Добавить комментарий

Ваш адрес email не будет опубликован.