Утилита vmstat — инструмент командной строки Linux, предназначенный для мониторинга производительности операционной системы. Эта команда позволяет получить детальную и сводную информацию об использовании ресурсов оперативной памяти, центрального процессора, загруженности жесткого диска и других показателях.
В этой статье мы расскажем, как установить и использовать утилиту vmstat в ОС Linux.
Содержание:
- Установка и синтаксис команды vmstat в Linux
- Запуск утилиты vmstat
- Отображение активной и неактивной памяти ОЗУ
- Показ таблицы, отражающей статистику ОЗУ, событий ЦП и ввода-вывода
- Получение статистики использования жесткого диска
- Отображение данных в мегабайтах
- Работа vmstat в режиме реального времени
- Выводы
Установка и синтаксис команды vmstat в Linux
Инструмент vmstat доступен для установки из стандартных репозиториев большинства популярных дистрибутивов Linux. Поэтому для его инсталляции достаточно выполнить одну из следующих команд.
Для Debian / Ubuntu:
Для CentOS / RHEL:
Для Fedora:
Основной синтаксис команды vmstat имеет следующий вид:
Где:
[options]— необязательные опции, которые расширяют функционал утилиты;[delay]— интервал обновления данных в режиме реального времени;[count]— количество обновлений данных в режиме реального времени.
Чтобы вывести на экран все опции команды vmstat, выполните в терминале:
Запуск утилиты vmstat
Чтобы узнать, как работает инструмент vmstat, достаточно выполнить в терминале одноименную команду без каких-либо опции и аргументов:
Читайте также: Команда free в Linux с примерами.
По умолчанию утилита выводит на экран:
procs— данные о процессах:r— количество запущенных и ожидающих выполнения процессов;b— количество спящих процессов.
memory— данные ОЗУ в килобайтах:swpd— объем использованной виртуальной памяти;free— объем свободной памяти;buff— общий объем памяти, используемой в качестве буферов;cache— объем памяти, используемой как кэш.
swap— статистика использования пространства подкачки в килобайтах в секунду:si— объем памяти, подкачанной с жесткого диска;so— объем памяти, подкачанной на жесткий диск.
io— информация об устройствах ввода-вывода:bi— количество блоков в секунду, полученных с блочного устройства;bo— количество блоков в секунду, отправленных на блочное устройство.
system— информация об ОС:in— количество прерываний в секунду, включая часы;cs— количество переключений контекста в секунду.
cpu— статистика времени использования ЦП в процентах:us— затраченное на выполнение пользовательского кода;sy— затраченное на выполнение кода ядра;id— проведенное в ожидании;wa— затраченное на ожидание завершения операций ввода-вывода;st— украденное из гипервизора виртуальной машины для других целей (если используется виртуализация).
Ко всей этой информации Вы можете добавить временную метку выполнения команды. Для этого примените опцию -t:
Воспользуйтесь опцией --wide, чтобы устранить нежелательное разбиение данных в столбцах:
Отображение активной и неактивной памяти ОЗУ
Активная память — объем памяти, который используется процессами в данный момент времени. Неактивная память — объем памяти, выделенный процессу, который больше не выполняется.
Чтобы вывести на экран статистику по этим двум видам памяти, примените опцию -a:
Читайте также: Как установить и использовать vnStat в Linux.
Показ таблицы, отражающей статистику ОЗУ, событий ЦП и ввода-вывода
Опция -s указывает утилите vmstat показать в терминале различную информацию об использовании ОЗУ, а также счетчики событий центрального процессора и ввода-вывода:
Вы можете отдельно вывести на экран количество системных вызовов fork, которые создают дочерние процессы из уже запущенных. Чтобы это сделать, выполните команду с опцией -f:
Получение статистики использования жесткого диска
Для отображения на экране общей информации о жестком диске и операциях ввода-вывода, запустите команду с опцией -D:
Чтобы получить подробную информацию по каждому диску, используйте опцию -d:
Утилита выведет в терминал такие данные о дисках:
reads— чтение с диска:total— количество операций чтения;merged— количество сгруппированных чтений;sectors— общее количество прочитанных секторов;ms— время в миллисекундах, необходимое для чтения данных.
writes— запись на диск:total— количество операций записи;merged— количество сгруппированных записей;sectors— общее количество записанных секторов;ms— время в миллисекундах, необходимое для записи данных.
IO— сводные данные об операциях ввода-вывода:cur— количество операций чтения и записи на жесткий диск;sec— время в секундах, затраченное на все выполняемые операции чтения или записи.
Чтобы сгенерировать краткий отчет об операциях ввода-вывода для определенного раздела жесткого диска, используйте с командой опцию -p и укажите в качестве аргумента название раздела. Например:
Читайте также: Команда df в Linux с примерами.
Отображение данных в мегабайтах
По умолчанию утилита vmstat выводит данные в килобайтах. Если Вы хотите получить информацию в мегабайтах, примените опцию -S с аргументом M:
Работа vmstat в режиме реального времени
Как мы сказали ранее, vmstat может показывать данные в реальном времени. Чтобы запустить инструмент в этом режиме, в качестве аргумента команды укажите интервал обновления информации в секундах. Например:
Утилита продолжит работу, пока Вы не прервете ее выполнение, нажав сочетание клавиш Ctrl + c. Тем не менее, Вы можете настроить инструмент на завершение работы после определенного числа обновлений данных. Для этого укажите количество показов статистики после значения интервала обновления данных. Например, нам нужно, чтобы утилита vmstat обновила информацию три раза с интервалом в 5 секунд:
Выводы
Утилита vmstat — полезный инструмент для отслеживания потребления ресурсов различных компонентов ОС Linux. Мы рассказали, как она работает, и продемонстрировали Вам практические примеры ее использования.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.






































