Linux: Используем vmstat для сбора данных об утилизацииУтилита vmstat позволяет получать информацию о запущенных процессах, утилизации памяти, процессора и системы ввода вывода. Данные получаемые в результате работы этой утилиты легко читаемые и понимаемые. Сегодня расскажем о vmstat подробнее.

[ad#ad-2]
В большинстве случаев

vmstat -S M
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0      0   1734    224    380    0    0   152    29  168  173  3  1 93  2

Как мы видим в первой строчке указаны шесть категорий по которым выдается информация, во второй строке - категории расписываются более детально, а в последующих (а она может быть не одна) указаны текущие значения для каждого параметра.
в нашем примере параметры "-S M" заставляют vmstat указывать все значения в Мегабайтах. Так же можно выбрать k - Кбиты, K - Кбайты, m - Мбиты, M- Мбайты. По умолчанию vmstat выводит информацию в Кбайтах.

vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0      0 1772452 229688 391348    0    0   127    24  170  171  3  1 94  2

Расскажем детально о каждом выдаваемом параметре.
r: Количество процессов которые выполняются в данный момент
b: Количество процессов находящихся в "глубоком сне" (по терминологии виндовс - они зависли), и будут запущены только при появлении свободных ресурсов для этого
swpd: Количество занятого Свопа (SWAP)
free: Количество свободной памяти
buff: Количество памяти выделенной под буфер
cache: Количество памяти занятой под кеш
si: Число загруженных процессов. (количество памяти выгруженной в Своп)
so: Число загруженных процессов. (количество памяти загруженных из Свопа в оперативную пямять)
bi: Количество блоков информации прочитанных с жестких дисков в секунду (blocks/s).
bo: Количество блоков информации записанных на жесткие диски в секунду (blocks/s).
in: Число прерываний устройств (несинхронных). (а если проще то это число прерываний, поступавших от устройств каждую секунду в течение интервала сбора информации.)
cs: Число переключений контекста.
us: Время CPU (в процентах) затраченное на выполнение пользовательских приложений
sy: Время CPU (в процентах) затраченное на выполнение системных приложений (время ядра)
id: Время (в процентах) в течении которого процессор простаивал (не выполняя никаких задач)
wa: Время (в процентах) в течении которого процессор простаивал (не выполняя никаких задач) ожидая когда окончится операция ввода вывода на жесткие диски.

Так же при помощи утилиты vmstat можно получать информацию о загрузке автоматически через определенное время, или определенное количество раз.
В следующем примере информация собирается каждые 2 секунды, но не более 5 раз

vmstat -S M 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0      0   1717    225    388    0    0    48    10  184  174  2  1 97  1
 0  0      0   1717    225    388    0    0     0     0  454  370  2  0 98  0
 0  0      0   1717    225    388    0    0     0    26  427  369  2  0 98  0
 0  0      0   1717    225    388    0    0     0     0  514  471  2  0 97  0
 0  0      0   1717    225    388    0    0     0     0  455  410  2  1 97  0

Или просто каждые две секунды до нажатия сочетания клавиш "Ctrl + C"

vmstat -S M 2
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0      0   1717    225    388    0    0    47     9  184  175  2  1 97  1
 2  0      0   1717    225    388    0    0     0     0  383  433  1  0 98  0
 0  0      0   1717    225    388    0    0     0     0  348  393  1  0 99  0
 1  0      0   1717    225    388    0    0     0    18  339  365  1  0 99  0
 0  0      0   1717    225    388    0    0     0     0  385  386  1  1 98  0
 1  0      0   1717    225    388    0    0     0    18  508  411  2  0 98  0
 0  0      0   1717    225    388    0    0     0     0  347  378  1  0 99  0
^C
Теги: