Мониторинг загрузки процессора через команду Top
Описание использования утилиты top для мониторинга процессов и загрузки CPU.
Для контроля работы сервера и своевременного выявления процессов, потребляющих чрезмерное количество ресурсов, на VPS и выделенных серверах удобно использовать утилиту top, которая отображает нагрузку на CPU, оперативную память и swap.
Top позволяет выводить список запущенных процессов в виде таблицы и оценивать, сколько ресурсов потребляет каждый процесс, включая нагрузку на дисковую подсистему. Эта информация помогает оптимизировать работу сервера и вовремя принимать меры при чрезмерной нагрузке.
Для начала работы подключитесь к серверу по SSH и введите команду top
. После нажатия Enter вы увидите таблицу с перечнем процессов, изначально отсортированных по убыванию использования процессора.
Запуск команды top и расшифровка таблицы
Первые два столбца — номер процесса (PID) и имя пользователя, который его запустил (USER).
Следующие два столбца показывают текущий приоритет процесса (PR) и приоритет, присвоенный процессу командой NICE (NI).
Остальные колонки отражают уровень потребления ресурсов процессом:
- VIRT — виртуальная память, используемая процессом
- RES — физическая память, занятой процессом
- SHR — общий объём памяти, который процесс делит с другими
- S — текущий статус процесса: R — running, S — sleeping, Z — zombie
- %CPU — процент использования процессором
- %MEM — процент использования ОЗУ
- TIME+ — время работы процесса с момента запуска
- COMMAND — имя команды (программы), инициировавшей процесс
Расшифровка данных перед таблицей
Полезная информация содержится не только в таблице, но и в пяти строках, предшествующих ей — это сводные данные о всех процессах.
Первая строка — общая информация о загрузке системы (top)
- текущее время
- up — время работы системы с момента запуска
- user — количество пользователей, подключённых к системе
- load average — средняя загрузка системы за 1, 5 и 15 минут
Считается нормой, если показатель не превышает 1 для одноядерных процессоров. Значение load average, равное количеству ядер, считается предельным.
Вторая строка — статистика процессов (task)
- total — общее количество процессов
- running — количество активно работающих процессов
- sleeping — количество процессов, ожидающих события
- stopped — количество остановленных процессов
- zombie — количество процессов, ожидающих завершения родительского процесса
Третья строка — статистика использования CPU (cpu)
- us — процент использования CPU пользовательскими процессами
- sy — процент использования CPU системными процессами
- ni — процент использования CPU процессами с изменённым приоритетом (nice)
- id — процент времени простоя CPU
- wa — процент времени, когда CPU ждёт завершения операций ввода-вывода
- hi — Hardware IRQ (аппаратные прерывания)
- si — Software Interrupts (программные прерывания)
- st — Steal Time — ресурсы CPU, "заимствованные" гипервизором для других задач; на физических серверах равно нулю
Четвёртая и пятая строки — информация об использовании оперативной памяти и swap. Значения идут в порядке: общее количество памяти (total), занято (used), свободно (free), кэш/буферы (buffers).
Добавление столбцов и сортировка таблицы top
По умолчанию таблица сортируется по использованию CPU (%CPU).
- Чтобы отсортировать процессы по памяти (%MEM) — нажмите Shift+M
- Для сортировки по времени работы процесса (TIME+) — Shift+T
- Для сортировки по PID — Shift+N
- Чтобы вернуться к сортировке по CPU — Shift+P
Не все сортировки доступны через горячие клавиши. Например, чтобы определить процессы с наибольшим использованием SWAP, используйте меню выбора полей Shift+F.
С помощью клавиш навигации выберите SWAP (или другой параметр), нажмите d, чтобы добавить его в таблицу (рядом появится символ «*»). Для сортировки по выбранному полю нажмите s и выйдите из меню (ESC). Чтобы убедиться, что сортировка работает, нажмите x — колонка с выбранным параметром выделится жирным.
Примечание
Существует более удобная утилита atop. Подробнее о её функционале можно узнать на этой странице.
Помощь
Если у вас возникли трудности или появились дополнительные вопросы, обращайтесь в службу поддержки через систему тикетов.