Команда top — мониторинг процессов в реальном времени
top — это классическая утилита Linux, которая показывает в реальном времени, какие процессы запущены, сколько они потребляют CPU и памяти, а также общую нагрузку на систему. Это «дедушка» более современных htop и btop, но встроен почти в любой дистрибутив по умолчанию.
Запуск
bash
top
Или с опциями:
bash
top -d 2 # обновление каждые 2 секунды top -u username # показывать только процессы пользователя top -p 1234,5678 # следить только за PID 1234 и 5678 top -n 10 # выйти после 10 обновлений (удобно для скриптов) top -b # batch-режим (вывод без интерактива, для логов)
Что показывает верхняя часть (header)
text
top - 14:23:45 up 3 days, 2:15, 2 users, load average: 0.52, 0.48, 0.45 Tasks: 245 total, 1 running, 244 sleeping, 0 stopped, 0 zombie %Cpu(s): 4.2 us, 1.1 sy, 0.0 ni, 94.5 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 15920.0 total, 3210.5 free, 6120.3 used, 6589.2 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 9034.1 avail Mem
Разберём построчно:
Строка 1 — uptime и нагрузка
14:23:45— текущее времяup 3 days, 2:15— сколько система работает без перезагрузки2 users— число залогиненных пользователейload average: 0.52, 0.48, 0.45— средняя нагрузка за 1, 5 и 15 минут. Значения выше числа ядер → система перегружена.
Строка 2 — задачи
total— всего процессов/потоковrunning— выполняются прямо сейчасsleeping— ждут событияstopped— остановлены (Ctrl+Z)zombie— «зомби»-процессы (завершились, но родитель не считал код возврата)
Строка 3 — состояния CPU
us— user: время в пользовательских процессахsy— system: время в ядреni— nice: процессы с изменённым приоритетомid— idle: простойwa— iowait: ожидание ввода-вывода (высокое значение → проблемы с диском)hi/si— hardware/software interruptsst— steal: время, украденное гипервизором (важно для VPS)
Строки 4–5 — память и swap
total,free,used,buff/cache— оперативная памятьavail Mem— сколько реально доступно приложениям
Таблица процессов
text
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1234 user 20 0 2456789 345678 45678 S 5.3 2.1 1:23.45 firefox
- PID — идентификатор процесса
- USER — владелец
- PR — приоритет (priority)
- NI — nice-значение (от −20 до +19; меньше = важнее)
- VIRT — вся виртуальная память (включая swap и разделяемые библиотеки)
- RES — резидентная память (реально занимаемая в RAM)
- SHR — разделяемая память
- S — состояние:
Rrunning,Ssleeping,Duninterruptible,Zzombie,Tstopped - %CPU — доля процессора
- %MEM — доля оперативной памяти
- TIME+ — общее время CPU, затраченное процессом
- COMMAND — имя команды
Полезные горячие клавиши
Сортировка
| Клавиша | Действие |
|---|---|
P | сортировать по CPU (по умолчанию) |
M | сортировать по памяти |
T | сортировать по времени работы |
N | сортировать по PID |
< / > | выбрать поле сортировки вручную |
Управление
| Клавиша | Действие |
|---|---|
k | убить процесс (спросит PID и сигнал) |
r | изменить nice-значение (renice) |
d или s | изменить интервал обновления |
u | фильтр по пользователю |
n | ограничить число строк |
c | показать полную командную строку (а не только имя) |
i | скрыть idle-процессы |
1 | показать нагрузку по каждому ядру отдельно |
H | показать потоки (threads) |
V | режим «леса» (forest) — дерево процессов |
f | выбрать, какие колонки показывать |
W | сохранить настройки в ~/.toprc |
h или ? | справка |
q | выход |
Практические примеры
Найти, кто съел всю память:
bash
top -o %MEM
(или запустить top и нажать M)
Смотреть только свои процессы:
bash
top -u $USER
Обновлять раз в секунду и показать дерево:
bash
top -d 1 -c
Записать снимок в файл (для отладки):
bash
top -b -n 1 > top_snapshot.txt
Мониторить конкретный процесс:
bash
top -p $(pgrep firefox)
top vs htop vs btop
| top | htop | btop | |
|---|---|---|---|
| Есть везде | ✅ | часто нужно ставить | нужно ставить |
| Цветной интерфейс | ⚠️ базовый | ✅ | ✅✅ |
| Мышь | ❌ | ✅ | ✅ |
| Дерево процессов | через V | ✅ | ✅ |
| Графики | ❌ | ⚠️ | ✅✅ |
| Скриптуемость (batch) | ✅✅ | ⚠️ | ❌ |
top незаменим в скриптах и на минимальных системах (серверы, контейнеры, встраиваемые устройства), а htop/btop удобнее для интерактивной работы.