vmstat

vmstat - статистическая информация по виртуальной памяти

vmstat [-afHhimPsz] [-c count] [-M core [-N system]] [-w wait] [-n devs]
[-p type,if,pass] [disks]

Утилита vmstat выводит некоторую статистическую информацию о процессах, виртуальной памяти, дисках, системных ловушках и процессорной активности.

Если не указана опция -M, информация будет получена из текущего ядра через интерфейс sysctl, в противном случае информация считывается из файла образа ядра, указанного в опции, используя список имен указанного образа ( или образа по умолчанию ).

Программа поддерживает следующие опции:

При использовании совместно с опцией -i, в числе прочих системных прерываний, выводит прерывания с нулевыми счетчиками, то есть которые никогда не вызывались.
Счетчик отчетов ( строк ). В первом отчете ( строке ) выводятся значения с последней перезагрузки, во всех последующих, значения за интервал времени с предыдущего отчета. Если данная опция не указана, но установлена опция -w, отчеты будут выводиться бесконечно, в противном случае будет выведен один отчет.
-f
Информация о количестве системных вызовов fork(2), vfork(2) и rfork(2), выполненных с момента старта системы, и количество страниц виртуальной памяти, задействованных каждым из них.
-h
Выводить информацию о виртуальной памяти в более читаемом формате.
Поведение по умолчанию, если потоком стандартного вывода является терминал.
-H
Использовать длинный формат вывода информации по виртуальной памяти. Поведение по умолчанию, если потоком стандартного вывода является НЕ терминал ( например скрипт ).
-i
Отчет о системных прерываниях, вызванных каждым устройством с момента старта системы.
-M
Извлечь значения связанные с списком имен из указанного файла ядра.
-N
Если указана опция -M, извлечь список имен из указанной системы, а не из образа ядра с которого загрузилась система.
-m
Отчет об использовании динамической памяти ядра, выделенной с использованием malloc(9) по типу.
-n
Изменить максимальное количество отображаемых в отчете дисков.
По умолдчанию 2.
-P
Выводить статистику для каждого процессора ( ядра процессора ).
-p
Устройства какого типа показывать. Существует три разных категории устройств:

Типы устройств:

  • da Устройства прямого доступа
  • sa Последовательные устройства
  • printer Принтеры
  • proc Процессоры
  • worm Устройства однокоатной записи
  • cd CD устройства
  • scanner Сканнеры
  • optical Optical Memory devices
  • changer Автозагрузчики
  • comm Комуникационные устройства
  • array Массивы хранения данных
  • enclosure Встроенные сервисные устройства
  • floppy Флоппи диски

Интерфейсы:

  • IDE Integrated Drive Electronics devices
  • SCSI Small Computer System Interface devices
  • other Остальные интерфейсы

Сквозные устройства:

  • pass Сквозные устройства

Пользователь должен указать как минимум один тип устройств, и может указать более одного типа из каждой категории. Несколько устройств в одной категории должны быть разделены запятыми.

Опция -p может быть указана многократно. Все аргументы объединяются шаблон, для сравнения со всеми устройствами в системе. Устройства, полностью совпадающие с любым аргументом -p, будут включены в вывод программы vmstat, доя двух устройств или максимальное количество устройств определенное пользователем.

-s
Вывести суммарные данные по нескольким видам событий, имеющих отношение к страницам памяти, с момента старта системы.
-w
Интервал времени между отчетами. Если интервал не установлен, значение по умолчанию 1 секунда.
-z
Отчет по использованию памяти распределителем зоны ядра, uma(9), по зоне.

По умолчанию программа vmstat выводит следующую системную информацию:

procs - данные по процессам в различных состояниях

  • r в очереди на запуск
  • b заблокирован в ожидании освобождения русорсов ( i/o, paging, и т.д. )
  • w запущенные процессы или в состоянии sleep ( < 20 сек ) но вытесненные из памяти

memory
Информация об использовании виртуальной и реальной памяти. Виртуальные страницы памяти ( представлены единицами по 1024 байта ), считаются активными, если принадлежат работающему процессу или работающему последние 20 секунд.

  • avm активные страницы
  • fre страницы доступные для использования

page - информация об активности пейджинга памяти. Усредняется каждые 5 секунд и представлена в единицах в секунду.

  • flt общее количество промахов ( данных нет в памяти )
  • re количество восстановленных и использованных повторно страниц
  • pi количество страниц, перемещенных в пространство своппинга
  • po уоличество страниц перемещенных из своппинга в реальную память
  • fr количество освобождаемых страниц в секунду
  • sr количество просмотренных страниц, по алгоритму clock, в секунду

disks
Дисковые операции в секунду ( это поле зависит от текущей системы ). В качестве заголовка поля, используюется 2 первые буквы из названия устройства и номер. Если в системе присутствует более двух дисков, по умолчанию будут выведены данные по двум первым дискам, изменить это можно, указав количество устройств для вывода в опции -n. Можно заставить vmstat показывать конкретные устройства, указав их имена в уомандной строке. Если устройство указано через командную строку, или тип устройства совпадает с заданным в опции -p, vmstat будет выводить информацию только по данному устройству.

faults - количество захватов/прерываний в секунду, усредненное в 5-ти секундном интервале

  • in прерывания устройств за интервал ( включая прерывания таймера )
  • sy системных вызовов за интервал
  • cs количество переключений контекстов процессора ( переключений/интервал )

cpu - процентное выражение использования процессорного времени

  • us время в контексте user для нормально- и низко-приоритетных процессов
  • sy время в контексте system
  • id простой процессора

файлы
/boot/kernel/kernel default kernel namelist
/dev/kmem default memory file

Примеры:
Команда

vmstat -w 5

будет каждые 5 секунд выводить отчет о происходящем в системе. Это хороший интервал для мониторинга, поскольку многие параметры усредняются по 5 секундам.

Команда:

vmstat -p da -p cd -w 1

в данном примере, наравне с остальными системными параметрами, будет выведена статистика для двух первых устройств прямого доступа или cdrom, с интервалом 1 секунда.

Смотри также:
fstat(1), netstat(1), nfsstat(1), ps(1), systat(1), libmemstat(3), gstat(8), iostat(8), pstat(8), sysctl(8), malloc(9), uma(9)