Команда ‘vmstat’

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

Что такое vmstat

vmstat (Virtual Memory Statistics) — это встроенная утилита Linux, которая позволяет отслеживать ключевые параметры системы в реальном времени. С ее помощью можно получить информацию о:

  • Использовании виртуальной памяти.
  • Активности процессов.
  • Загрузке оперативной памяти.
  • Операциях c подкачкой (swap).
  • Прерываниях и контекстных переключениях.
  • Активности дисков.
  • Загрузке центрального процессора (CPU).

Базовый синтаксис vmstat.

Базовый синтаксис команды vmstat следующий:

vmstat [options] [delay[count]]
  • [options]: опции для изменения вывода.
  • [delay[count]]. — установка задержки и частоты обновления информации.

Чтобы начать использовать vmstat, достаточно ввести команду в терминале:

Однако для более эффективного мониторинга рекомендуется использовать дополнительные опции.

Использование vmstat

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

vmstat 

Расшифровка полей вывода vmstat следующая:

  • procs: запущенные процессы (r — выполняемые, b — заблокированные).
  • memory: статистика использования памяти.
  • swap: сведения об использовании файла подкачки.
  • io: активность ввода-вывода.
  • system: системные прерывания и переключения контекста.
  • cpu: нагрузка на центральный процессор.

Основные опции vmstat

  • -a: отображение активной и неактивной памяти.
  • -d: статистика по дискам.
  • -p: информация о конкретном разделе диска.
  • -s: сводная информация о памяти.
  • -t: добавление временной метки к каждому отчету.
  • -S: изменение единиц измерения (например, мегабайты).

Примеры использования vmstat

Отображение активной и неактивной памяти.

По умолчанию неактивная и активная память не отображаются. Для их просмотра используйте опцию -a:

vmstat -a 

Изменение единиц измерения

По умолчанию vmstat выводит данные в килобайтах. Для отображения информации в мегабайтах используйте опцию -S M:

vmstat -a -S M 

Определение количества fork

Для подсчета количества созданных процессов с момента загрузки системы используйте опцию -f:

vmstat -f

Проверка состояния диска

Для получения информации о производительности дисков используйте опцию -d:

vmstat -d 

Для получения общей статистики по всем дискам, используется опция -D:

vmstat -D

Получение полной информации о памяти

Для получения подробной информации о состоянии памяти, процессорах, времени загрузки и других системных показателей в Linux можно воспользоваться утилитой vmstat с параметром -s. Этот параметр позволяет вывести данные, аналогичные тем, что содержатся в /proc/meminfo, но с дополнительными возможностями настройки.

Чтобы получить полную картину использования памяти, процессорной активности и событий системы, выполните следующую команду:

vmstat -s -S M

Интерпретация вывода:

  • Total memory: Общая доступная память.
  • Used memory: Объем занятой памяти.
  • Active memory: Память, активно используемая запущенными процессами.
  • Inactive memory: Недавнее использование памяти, которое может быть освобождено при необходимости.
  • Free memory: Свободная память, доступная для использования.
  • Buffer memory: Память, выделенная под буферизацию.
  • Swap cache: Размер области подкачки, использующейся для ускорения доступа к часто запрашиваемым данным.
  • Total swap: Общий объем свопа.
  • Used swap: Занятый объем свопа.
  • Free swap: Свободный объем свопа.
  • User cpu ticks: Время, затраченное на выполнение пользовательских процессов.
  • System cpu ticks: Время, затраченное на выполнение системных процессов.
  • Idle cpu ticks: Время простоя процессора.
  • IO-wait cpu ticks: Время ожидания ввода-вывода.
  • IRQ cpu ticks: Время обработки аппаратных прерываний.
  • Softirq cpu ticks: Время обработки программных прерываний.
  • Stolen cpu ticks: Время, украденное гипервизором у гостевой системы.
  • Pages paged in/out: Количество страниц, перемещённых в память и из неё.
  • Swapped in/out: Количество страниц, перемещённых в область подкачки и обратно.
  • Interrupts: Общее количество обработанных прерываний.
  • Context switches: Переключения контекста между процессами.
  • Boot time: Время загрузки системы.
  • Forks: Количество процессов, созданных с момента загрузки.

Мониторинг нагрузки на систему

Чтобы наблюдать за состоянием системы в реальном времени, используйте команду с задержкой:

Результат будет обновляться каждые 2 секунды:

Для автоматического прекращения вывода после определенного числа итераций используйте опцию [count]:

vmstat 2 5

Результат будет обновляться каждые 2 секунды, но прекратится после 5 итераций.

Использование отметки времени.

Одной из полезных функций утилиты vmstat в Linux является возможность добавления временных меток к выводу. Это особенно удобно при длительном мониторинге системы, так как позволяет точно отслеживать, когда были собраны данные.

Чтобы добавить временную метку, используйте опцию -t или --timestamp. Например:

vmstat -t

В результате в выводе появится столбец timestamp, который показывает точное время сбора данных.

Если вы хотите мониторить систему с определенным интервалом и при этом добавлять временные метки, используйте комбинацию опций -t с параметрами задержки. Например:

В этом примере:

  • 2 — интервал обновления данных (2 секунды)
  • 5 — количество обновлений перед завершением команды
  • -t — добавление временной метки

Заключение.

Vmstat — это универсальная утилита для мониторинга систем Linux, которая предоставляет исчерпывающие данные о производительности системы. Ее гибкость и простота использования делают ее незаменимой для системных администраторов и инженеров по эксплуатации.

Was this helpful?

0 / 0

Добавить комментарий 0