System reports

Материал из pNp Wiki
Перейти к: навигация, поиск

Получение информации о загрузке системы и создание отчетов

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: sysstat, procps-ng

Использование утилиты top

Утилита входит в пакет procps-ng, позволяет получить информацию о процессах в интерактивном виде. Частота обновления информации задается ключом командной строки -d, либо, клавишей d.

Load Average

Показателем Load Average является количество процессов ожидающих свой очереди на их выполнение. Как правило, "нормальным" значением является количество процессов прямо пропорциональное количеству ядер CPU. Однако, как и везде, в этом утверждении есть свои нюансы, которые находятся за рамками рассмотрения экзамена RHCE


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

Параметр Значение
us Процент времени CPU потраченного на управление процессами в пользовательском пространстве. Зачастую такие процессы запускаются не от суперпользователя и не взаимодействуют с ядром
sy Процент времени CPU потраченного на управление процессами в пространстве ядра (вызовы системных функций)
ni Процент времени CPU потраченный на управление процессами с изменнным параметром nice
id Процент времени CPU потраченный на бездействие. В это время процессор не занимался ничем и был доступен для процессов
wa Процент времени CPU потраченный на ожидание непрерываемого ввода/вывода, то есть обращение к жесткому диску, смонтированных разделов NFS и тому подобное. Высокий процент этого значения означает, что устройство с которого происходит чтение или на которое производится запись низкопроизводительно, и требуется дальнейшая оптимизация, которая может быть выражена как в увеличении канала передачи данных, так и замене устройства на более быстрое.
hi Процент времени CPU потраченный на обслуживание аппаратных прерываний. Высокое значение этого параметра может означать проблему с железом
si Процент времени CPU потраченный на обслуживание программных прерываний.
st Процент времени "украденный" у CPU. Параметр показывает время потраченное на обслуживание виртуальных машин.

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

Параметр Значение
KiB Mem Количество физической памяти в килобайтах
used Количество использованной памяти
free Количество свободной памяти
buffers Количество памяти используемое для неструктурированных данных
cached Mem Количество памяти используемое для кэширования файлов, которые недавно были прочитаны с диска

Назначение колонок (показываемых по-умолчанию)

Параметр Значение
PID Уникальный идентификатор процесса задачи
USER Эффективное имя пользователя владельца задачи
PR Запланированный приоритет задачи. Значение rt означает что задача выполянется в реальном времени
NI Приоритет задачи (nice). Отрицательное значение означает повышенный приоритет, и наоборот
VIRT Виртуальный объем памяти используемой задачей. Включет в себя весь код, все данные и разделяемые библиотеки, выгруженные в своп страницы памяти, а так же запрошенные но не используемые страницы памяти
RES Объем физической памяти используемой задачей без учета свопа.
SHR Количество разделяемой памяти доступной для задачи, которая обычно не вся резидентная. Проще говоря отражает колчество памяти которое может быть доступна другим процессам
S Статус процесса. D - непрерываемый сон, R - работающий процесс, S - спящий процесс, T - процесс остановленый сигналом, t - процесс остановленный трассировкой, Z - зомби
%CPU Доля раздачи процессорного времени с момента последнего обновления экрана, выражается в процентах общего времени CPU
%MEM Доля доступной физической памяти используемая задачей
TIME+ Общее время процессорного времени используемого задачей с начала ее запуска. Символ + означает использование сотых секунды.
COMMAND Имя команды или командная строка использованная для запуска задачи

Вызов

Вызов утилиты top с параметрами командной строки, разбивкой процессов по тредам и задержкой в обновлении информации в одну секунду:

[root@vm-01 ~]# top -Hcd 1

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

Утилита входит в пакет sysstat и служит для получения информации о процессах, памяти, блокировках ввода/вывода, активности дисков и процессора.

Назначение колонок (показываемых по-умолчанию)

Параметр Значение
Procs Количество активных процессов (работающих или ожидающих времени для работы)
Memory Важная информация об использовании памяти, такой как: количество памяти используемой свопом, количество свободной памяти, количество памяти выделенной под буферы
Swap Показывает активность свопа
IO Показывает активность дисковой системы ввода/вывода
System Показывает информацию о количестве прерываний и переключений контекста в системе
CPU Показывает информацию об использовании CPU такую как, количество времени проведеннов в пространстве пользователя, в пространстве ядра, в ожидании ввода/вывода, времени "украденного" виртуальными машинами

Вызов

Вызов утилиты vmstat с общей информацией, задержкой в обновлении информации в одну секунду, отметками времени и установкой единиц измерения в мегабайтах:

[root@vm-01 ~]# vmstat -tS M 1

Использование утилиты iostat

Утилита для вывода статистики по использованию CPU и устройств ввода вывода:

Назначение колонок для CPU

Параметр Значение
%user Процент использования процессора с момента запуска программы в пространстве пользователя
%nice Процент использования процессора с момента запуска программы в пространстве пользователя c измененным приоритетом
%system Процент использования процессора с момента запуска программы в пространстве ядра
%iowait Процент простоя процессора с момента повышения запроса на ввод/вывод
%steal Процент времени потраченного процессором гипервизора на обслуживание виртуальных процессоров
%idle Процент простоя процессора без активных задач

Назначение колонок для дисковой системы

Параметр Значение
Device В данной колонке отображаются устройства или разделы
tps Количество запросов на ввод/вывод в секунду.
Blk_read/s (kB_read/s, MB_read/s) Количество прочитанных данных в секунду, выраженное в количестве блоков в секунду. Блоки равны секторам, следовательно имеют размер 512 байт
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s) Количество записанных данных в секунду, выраженное в количестве блоков в секунду
Blk_read (kB_read, MB_read) Общее количество прочитанных блоков
Blk_wrtn (kB_wrtn, MB_wrtn) Общее количество записанных блоков
rrqm/s Обобщенное количество запросов на чтение с устройства в секунду
wrqm/s Обобщенное количество запросов на запись на устройство в секунду
r/s Количество (после обобщения) выполненых запросов на чтение с устройства в секунду
w/s Количество (после обобщения) выполненых запросов на запись на устройство в секунду
rsec/s Количество секторов прочитанное с устройства в секунду
wsec/s Количество секторов записанное на устройство в секунду
avgrq-sz Усредненный размер (в секторах) который был отправлен устройству
avgqu-sz Усредненный размер очереди запросов который был отправлен устройству
await Среднее время (в миллисекундах) в ожидании устройством операции ввода/вывода. Включая время постановки в очередь запросов и время их исполнения
r_await Среднее время (в миллисекундах) в ожидании устройством операции чтения. Включая время постановки в очередь запросов и время их исполнения
w_await Среднее время (в миллисекундах) в ожидании устройством операции записи. Включая время постановки в очередь запросов и время их исполнения
svctm Среднее время (в миллисекундах) в ожидании устройством операции ввода/вывода. В документации предлагается не доверять этому полю, которое будет убрано в дальнейшем
%util Процент истекшего времени в течении которого устройство получало запросы на операцию ввода/вывода (использование пропускной способности устройства). Когда это значение близко к 100% - возникает насыщение

Вызов

Вызов утилиты iostat с информацией о дисковой системе, в мегабайтах, с именами разделов (для LVM), с отметками времени, расширенной статистикой и обновлением информации каждую секунду:

[root@vm-01 ~]# iostat -dmNtx 1

Использование утилиты sar

Утилита занимается сбором, сохранением и построением отчетов об активности системах. Для этого из крона, вызываются: каждые 10 минут - скрипт для сбора отчета, ежедневно вечером - утилита для построения статистики за день. Содержимое файла /etc/cron.d/sysstat:

# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

Файл /etc/sysconfig/sysstat содержит настройки, которые регулируют глубину хранения статистики, используемый архиватор и число, после которого статисика архивируется:

# sysstat-10.1.5 configuration file.

# How long to keep log files (in days).
# If value is greater than 28, then log files are kept in
# multiple directories, one for each month.
HISTORY=28

# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=31

# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"

# Compression program to use.
ZIP="bzip2"

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

Ссылки

Документация пакета sysstat