С чего начать Первые шаги трек · 15 ступеней
Linux Labs

top — процессы и нагрузка в реальном времени

4 мин Ubuntu 24.04 · procps-ng 4.0.4

Программа top каждые несколько секунд обновляет список процессов, загрузку CPU, память и load average.

Шпаргалка

6 команд Версия для печати
  • top живой список процессов; q — выход
  • top -o %MEM сразу сортировка по памяти
  • top -u student процессы одного пользователя
  • top -p 1234,1240 только эти PID
  • top -d 5 обновлять раз в 5 секунд
  • top -b -n 1 | head -n 15 один снимок текстом — для отчёта
  • внутри: P — по CPU, M — по памяти, 1 — по ядрам, c — полная
  • команда, k — послать сигнал, h — справка, q — выход

Обзор

top — ps, который не останавливается: раз в три секунды он перерисовывает экран. Сверху — сводка по машине, ниже — таблица процессов, по умолчанию самые прожорливые по CPU наверху.

text
student@ubuntu:~$ top -b -n 1 | head -n 2
top - 09:31:07 up 29 min,  1 user,  load average: 0.08, 0.03, 0.01
Tasks:  98 total,   1 running,  97 sleeping,   0 stopped,   0 zombie
Строка сводки Что в ней смотреть
load average средняя очередь на CPU за 1, 5 и 15 минут; сравнивай с числом ядер (nproc)
Tasks сколько процессов, есть ли zombie
%Cpu(s) us — программы, sy — ядро, id — простой, wa — ожидание диска, st — отобрал гипервизор
MiB Mem total, free, used, buff/cache — кэш файлов, его ядро отдаст при нужде
MiB Swap avail Mem — сколько памяти доступно программам на самом деле

Колонки таблицы: PID, USER, PR и NI — приоритет, VIRT, RES, SHR — память в КиБ (RES — реально занятая), S — состояние (как STAT в ps), %CPU, %MEM, TIME+ — накопленное процессорное время, COMMAND.

Ключи

7

Большинство настроек удобнее менять клавишами внутри top, ключи запуска нужны для скриптов и снимков. Полный список — man top.

Ключ Что делает Пример
-o field Сортировать по колонке — %CPU, %MEM, TIME+. top -o %MEM
-u user Показывать процессы только этого пользователя. top -u student
-p PID Следить только за этими PID (через запятую). top -p 1234,1240
-d seconds Интервал обновления в секундах. top -d 5
-b Пакетный режим — обычный текст для файла или конвейера. top -b -n 1
-n N Выйти после N обновлений. top -b -n 3 -d 2
-H Показывать потоки, а не только процессы. top -H -p 1234

Ничего не найдено. Попробуй запрос короче.

Рецепты

5

Найти, что грузит процессор

Открой top, нажми P (сортировка по CPU) и c (полная командная строка). Верхняя строка таблицы — главный потребитель. %CPU больше 100 значит, что процесс занял несколько ядер.

Найти, что съело память

Нажми M: сортировка по %MEM. Смотри RES, а не VIRT: VIRT включает зарезервированное, но не занятое. Что делать дальше — memory-swap.

Остановить процесс прямо из top

Нажми k, введи PID (по умолчанию предложен верхний процесс) и сигнал: Enter отправит 15 (SIGTERM). Подробнее о сигналах — kill.

Снимок для отчёта или тикета

bash
top -b -n 1 -o %MEM | head -n 15 > top.txt

-b (batch) печатает обычный текст без перерисовки экрана, -n 1 — один снимок.

htop

htop — та же идея с цветом, мышью и прокруткой. Если он установлен, клавиши подписаны внизу экрана: F6 — сортировка, F9 — сигнал, F10 — выход.

Неполадки

5

Load average высокий, а CPU почти свободен

В очереди стоят процессы в состоянии D, которые ждут диск. Смотри wa в строке %Cpu(s) и процессы с S = D. Разбор по шагам — system-monitoring.

free почти ноль — памяти не хватает?

Нет, если велики buff/cache и avail Mem: Linux держит свободную память под кэш файлов и отдаёт её программам по требованию. Тревожный признак — маленький avail Mem и растущий used в Swap.

Процесс показывает 150 %CPU

Процент считается от одного ядра: многопоточная программа на нескольких ядрах набирает больше 100. Клавиша 1 покажет загрузку каждого ядра отдельно.

Как выйти из top

q. Если top ждёт ввода (после k, o или u), сначала Esc.

В выводе через конвейер мусор и коды терминала

Без -b top рисует экран управляющими кодами. Для > файл и | grep всегда используй top -b -n 1.

См. также

  • ps — одиночный снимок процессов с любыми колонками.
  • kill — завершить процесс, найденный в top.
  • processes — состояния, сигналы, приоритеты.
  • system-monitoring — диагностика «сервер тормозит» по шагам.
  • memory-swap — как читать память и swap.
  • uptime-who — load average одной строкой.
Загрузка…