System reports
Содержание
Получение информации о загрузке системы и создание отчетов
Предварительные требования
- Виртуальная машина с двумя сетевыми интерфейсами
- Установленные пакеты:
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.