Vmstat

Vmstat — команда в Unix-системах для отображения статистики нагрузки на систему, в частности сведений об использовании виртуальной памяти[1].

Синтаксис vmstat обычно выглядит как vmstat интервал количество, где интервал задаётся в секундах, а количество — числом повторов.

Данные, отображаемые vmstat, поступают из специальных структур, поддерживаемых ядром, и потому зависят от конкретного варианта Unix. Показатели указываются как средние значения за период измерения, что при слишком больших интервалах может сглаживать пиковые значения.

Общие сведения
Vmstat
Тип системная утилита, командная строка
Разработчики разработчики UNIX и UNIX-подобных систем
Операционные системы Unix и UNIX-подобные ОС
Лицензия различная (в зависимости от реализации)

Информация, предоставляемая vmstat

Обычно выводятся следующие данные:

  • Информация о загрузке процессора (CPU), выраженная в процентах времени работы процессора:

%sys: использование процессора в системном режиме,
%usr: использование процессора в пользовательском режиме,
%idle: процент времени простоя процессора.
В некоторых Unix также отображается %wait, обозначающий долю времени, которое процессор тратит на ожидание завершения операций ввода-вывода. На сериях систем с SMP это значение порой некорректно.

  • Сведения о состоянии процессов:

b: количество заблокированных процессов,
r: количество процессов в очереди на выполнение,
w: число процессов в состоянии ожидания.

  • Сведения об активности виртуальной памяти:

free: количество доступных страниц памяти. В зависимости от версии Unix, страницы, выделенные под кэш файловой системы, могут включаться или не включаться в это значение.
avm: активные страницы виртуальной памяти в течение определённого системой интервала.
pi: page in — число страниц в секунду, загруженных из диска в память, например при запуске процесса.
po: page out — число страниц в секунду, выгруженных из памяти на диск (иногда соответствует понятию своп).
sr: число страниц в секунду, просканированных демоном освобождения памяти.
fr: число страниц в секунду, освобождённых демоном освобождения памяти.


В зависимости от варианта Unix эти статистики могут измеряться либо в количестве страниц, либо в единицах памяти (КБ, МБ и т. д.).


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

Пример

#> vmstat 2 6
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0   2536  21496 185684 1353000    0    0     0    14    1     2  0  0 100  0
 0  0   2536  21496 185684 1353000    0    0     0    28 1030   145  0  0 100  0
 0  0   2536  21496 185684 1353000    0    0     0     0 1026   132  0  0 100  0
 0  0   2536  21520 185684 1353000    0    0     0     0 1033   186  1  0 99  0
 0  0   2536  21520 185684 1353000    0    0     0     0 1024   141  0  0 100  0
 0  0   2536  21584 185684 1353000    0    0     0     0 1025   131  0  0 100  0
#>

Примечания

  1. Page manuel de VMSTAT. manpagesfr.free.fr. Дата обращения: 26 сентября 2025. Архивировано 24 февраля 2025 года.