Ответ
Команда top — это интерактивный системный монитор в реальном времени. Я использую её для быстрой диагностики нагрузки на серверах, чтобы понять, какие процессы потребляют больше всего CPU или памяти.
Основная информация в выводе top:
- Первая строка (uptime & load average): Время работы системы и средняя нагрузка за 1, 5 и 15 минут.
- Задачи (Tasks): Общее количество процессов и их состояние (running, sleeping, stopped, zombie).
- Процессор (%Cpu(s)): Разбивка использования CPU:
us(пользовательские процессы),sy(системные),id(простой). - Память (MiB Mem): Использование оперативной и swap-памяти.
- Таблица процессов: Динамический список процессов с PID, пользователем, приоритетом (PR/NI), %CPU, %MEM и командой.
Практическое использование в DevOps:
# Запуск с сортировкой по памяти (полезно при поиске утечек)
top -o %MEM
# Запуск в пакетном режиме для логирования (например, в скрипте)
top -b -n 1 > system_snapshot.txt
# Мониторинг конкретного пользователя
top -u appuser
Горячие клавиши (в интерактивном режиме):
Shift+M– сортировка по использованию памяти.Shift+P– сортировка по использованию CPU (по умолчанию).k– завершить процесс (запросит PID).1– развернуть информацию по всем ядрам CPU.q– выход.
Для более продвинутого и удобного для скриптов мониторинга я часто предпочитаю htop или pidstat.