Мониторинг процессов в реальном времени
В то время как команда ps
предоставляет снимок процессов в определенный момент времени, иногда вам нужно непрерывно отслеживать процессы. В этом шаге мы рассмотрим инструменты для мониторинга процессов в реальном времени.
Использование команды top
Команда top
предоставляет динамическое представление о работе системы в реальном времени. Она отображает обобщенную информацию о системе, а также список процессов или потоков, которые в данный момент управляются ядром Linux.
Запустите следующую команду:
top
Вы увидите что-то вроде этого:
top - 17:15:23 up 30 min, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 31 total, 1 running, 30 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1975.1 total, 1558.7 free, 180.4 used, 236.1 buff/cache
MiB Swap: 975.0 total, 975.0 free, 0.0 used. 1651.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8988 3208 2556 S 0.0 0.2 0:00.07 init.sh
22 root 20 0 39528 8596 6088 S 0.0 0.4 0:00.20 supervisord
23 root 20 0 12128 6788 5864 S 0.0 0.3 0:00.00 sshd
...
Вывод разделен на две части:
- Обобщенная информация о системе (первые 5 строк)
- Список процессов (по умолчанию отсортирован по использованию ЦП)
Для выхода из top
нажмите клавишу q
.
Понимание вывода команды top
Обобщенная информация о системе содержит:
- Время работы системы и средние нагрузки
- Количество задач по состояниям (выполняются, спят, остановлены, зомби)
- Разбивку использования ЦП
- Использование памяти и свопа
Список процессов показывает:
- PID: Идентификатор процесса
- USER: Пользователь - владелец
- PR: Приоритет
- NI: Nice - значение
- VIRT: Используемая виртуальная память
- RES: Используемая физическая память
- SHR: Общая память
- S: Состояние процесса
- %CPU: Использование ЦП
- %MEM: Использование памяти
- TIME+: Время ЦП, использованное процессом
- COMMAND: Имя команды
Интерактивные команды в top
Во время работы top
вы можете использовать различные клавиатурные команды для взаимодействия с ней:
- Нажмите
M
, чтобы отсортировать по использованию памяти
- Нажмите
P
, чтобы отсортировать по использованию ЦП
- Нажмите
k
, а затем введите PID, чтобы убить процесс
- Нажмите
h
для получения справки
Попробуйте нажать M
во время работы top
, чтобы увидеть процессы, отсортированные по использованию памяти.
Использование команды watch
с ps
Другой подход к мониторингу в реальном времени - использование команды watch
с ps
. Эта команда периодически запускает другую команду и отображает вывод, позволяя вам видеть изменения со временем.
watch -n 1 'ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 6'
Эта команда обновляется каждую секунду и показывает топ - 5 процессов, потребляющих ЦП.
Для выхода из watch
нажмите Ctrl+C
.
Комбинация ps
с утилитами, такими как watch
, дает вам мощные возможности для мониторинга процессов системы в реальном времени.