— одна из утилит, которые должны быть использованы в первую очередь (после
vmstattop, конечно), при проблемах с сервером (высокий Load Average и т.д.).
Он позволяет вывести информацию об использовании памяти, дисков, процессора.
Простой запуск без ключей будет выглядеть так:
# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 186888 179960 28156 405052 7 7 24 28 18 24 3 1 95 1 0
Результат разбит на шесть колонок — procs (процессы), memory (память), swap, io (диск I/O), system (система/ядро), CPU (процессор).
Содержание
Информация в результатах vmstat
Procs
r — количество процессов в очереди на выполнение процессором (если значение > 0 — налицо нагрузка на процессор);
b — количество процессов, ожидающих операций I/O (если значение > 0 — налицо нагрузка на диски и/или файловую систему).
Значение остальных колонок.
Memory
swpd — количество блоков, перемещённых в swap;
free — свободная память (без учёта памяти, занятой буферам и кэшом, тоже, что выводит free в колонке Mem:free, см. тут>>>);
buff — буферы памяти (см. там же);
cache — кеш (см. там же);
Swap
si (swap in) — количество блоков в секунду, которое система считывает из раздела или файла swap в память;
so (swap out) — и наоборот, количество блоков в секунду, которое система перемещает из памяти в swap.
В идеале, значение обоих должно быть около нуля или, по крайней мере, не более 10 блоков/секунду.
IO
bi (blocks in) — количество блоков в секунду, считанных с диска;
bo (blocks out) — количество блоков в секунду, записанных на диск;
System
in (interrupts) — количество прерываний в секунду;
cs (context switches) — количество переключений между задачами (см. тут>>>);
CPU
us (user time) — % времени CPU, занятый на выполнение «пользовательских» (не принадлежащих ядру) задач;
sy (system time) — % времени CPU, занятый на выполнение задач ядра (сеть, I/O задачи, прерывания и т.п.);
id (idle) — % времени в бездействии (ожидании задач);
wa — % времени CPU, занятый на ожидание операций I/O;
Опции vmstat
-a — переключение колонки memory в active/inactive значение вместо buff/cache (active — память, реально используемая в данный момент определённым процессом, inactive — память, выделенная ранее какому-то процессу, которого уже нет);
-f — информация о количестве системных вызовов fork(2), vfork(2) и rfork(2), выполненных с момента старта системы, и количество страниц виртуальной памяти, задействованных каждым из них;
-m — использование динамической памяти ядра, выделенной с использованием malloc(9);
-n — задаёт интервал выполнения в секундах;
-s — изменение вида отображение результатов (в две колонки);
-d — статистика использования дисков;
-w — увеличивает визуальный размер поля для больших объемов;
-p [partition name] — с указанием имени раздела, информация по конкретном разделу (read/writes);
-S [k | K | m | M] — с указанием в чем выводить информацию (килобиты, килобайты, мегабиты, мегабайты соответственно);
-V — версия vmstat.
Кроме того, после указания опций можно задать две цифры — интервал между выполнением, и количество повторов:
# vmstat 2 5
vmstat будет выполнен 5 раз с интервалом в 2 секунды.
Ссылки по теме
http://technotes.skycover.ru (хорошо описана память в Linux)
http://linuxcommand.org
http://www.lazysystemadmin.com




