Как использовать top в Linux — полный справочник

Быстрые ссылки
- Информационная панель
- Проверить версию top
- Обычный вывод по умолчанию
- Прокрутка вывода
- Изменение единиц измерения
- Настройка содержания сводки
- Цвет и подсветка
- Сортировка по столбцам
- Полная командная строка процесса
- Процессы одного пользователя
- Только активные задачи
- Указать сколько процессов показывать
- Изменить приоритет процесса (renice)
- Завершить процесс с помощью top
- Кастомизация отображения
- Альтернативный режим отображения и батч-режим
- Другие клавиши
- Аналоги top
Важно: все клавиши, перечисленные ниже, действуют в интерактивном режиме top. Если вы запускаете top в пакетном режиме (см. раздел “Альтернативный режим отображения”), интерактивные клавиши не применимы.
Информационная панель
top — утилита с историей с 1984 года. Её задача — вместить в терминал максимально полезную информацию о состоянии системы и процессах. По умолчанию экран делится на две зоны:
- Сводная панель (dashboard) — строки вверху с состоянием системы.
- Список задач (task area) — таблица процессов.
Преимущество top — скорый обзор метрик: время, аптайм, количество залогиненных пользователей, средняя нагрузка (load average), состояние задач, загрузка CPU по категориям, память и своп. Эти метрики помогают обнаруживать проблемы на ранних стадиях и реагировать до появления инцидентов.
Примечание: вывод top может различаться между дистрибутивами и версиями. Некоторые возможности зависят от версии procps/top.
Проверить версию top
Чтобы узнать версию top, введите в терминале:
top -vЕсли версия существенно старее упомянутых в этой статье возможностей, некоторые интерактивные опции могут отсутствовать.
Обычный вывод по умолчанию
Запуск:
topПо умолчанию обновление происходит каждые 3 секунды (настройка RUNTIME: интервал можно изменить). Верхняя часть — несколько строк со сводкой, ниже — таблица процессов с заголовками столбцов.
Типичные заголовки столбцов в списке задач:
- PID — идентификатор процесса.
- USER — владелец процесса.
- PR — приоритет процесса.
- NI — значение nice.
- VIRT — виртуальная память процесса.
- RES — резидентная память.
- SHR — общий (shared) объём.
- S — статус процесса (D,R,S,T,Z).
- %CPU — доля CPU с последнего обновления.
- %MEM — доля физической памяти.
- TIME+ — кумулятивное время CPU в сотых долях секунды.
- COMMAND — имя команды или командная строка.
Память по умолчанию отображается в кибибайтах (KiB). Статусы процесса:
- D — uninterruptible sleep (непрерываемое ожидание I/O)
- R — running
- S — sleeping
- T — stopped / traced
- Z — zombie
Чтобы выйти — нажмите Q.
Прокрутка вывода
- Стрелки вверх/вниз, Home/End, PageUp/PageDown — перемещение по списку процессов.
- Стрелки влево/вправо — сдвиг таблицы по горизонтали, чтобы увидеть столбцы, которые не помещаются в окне.
Полезно, если у вас узкое окно терминала или много столбцов.
Изменение единиц измерения
- Нажмите E (заглавная) — переключает единицы в сводной панели: KiB, MiB, GiB, TiB, PiB, EiB.
- Нажмите e (строчная) — переключает единицы в таблице процессов: KiB, MiB, GiB, TiB, PiB.
Практика: используйте GiB для общей памяти и MiB для отдельных процессов — так легче оценить потребление.
Настройка содержания сводки
- l — переключает строку load average (первую строку) вкл/выкл.
- 1 — показывает статистику по каждому CPU (ядру) отдельно.
- t — переключает отображение CPU: подробные числа / ASCII-графики / блоки / скрыть строку CPU и задач.
- m — циклически переключает отображение строк памяти и свопа: числа / ASCII-график / блоки / скрыть.
Пример: если у вас много ядер, нажмите 1, затем t, чтобы быстро увидеть загрузку по каждому ядру в виде графика.
Цвет и подсветка
- z — вкл/выкл цвета (если терминал поддерживает).
- y — подсветить выполняющиеся задачи (running).
- x — подсветить столбец сортировки.
- b — переключает между полужирным (bold) и инвертированным (reversed) выделением.
Важно: цвета зависят от схемы терминала; если цвета мешают, их можно отключить.
Сортировка по столбцам
По умолчанию список сортируется по %CPU. Быстрая смена сортировки:
- P — сортировать по %CPU.
- M — сортировать по %MEM.
- N — сортировать по PID.
- T — сортировать по TIME+.
Вы также можете нажимать стрелки влево/вправо для смещения и использовать x для подсветки активного столбца.
Полная командная строка процесса
- c — переключает отображение столбца COMMAND между именем процесса и полной командной строкой (включая аргументы).
Полезно при отладке, когда нужно увидеть, с какими параметрами запущен процесс.
Дерево процессов
- V — показывает список процессов в виде дерева (сдвигает фокус на потомков и родителей). Это помогает понять, какие процессы были порождены другими.
Процессы одного пользователя
- u — фильтр по пользователю: введите имя пользователя или UID, нажмите Enter. Оставшиеся процессы будут принадлежать выбранному пользователю.

После ввода логина, например “dave”, вы увидите только процессы пользователя dave.

Только активные задачи
- Shift + L (строчная l уже используется) — в некоторых сборках top есть быстрый фильтр, показывающий только активные (не спящие) задачи. Если ваша версия не поддерживает Shift+L, используйте фильтр по статусу вручную.
Фильтрация вручную (по статусу):
- O (буква O) — открыть интерактивное меню сортировки/фильтрации, затем введите поле S (статус) и нужное значение.
Примечание: синтаксис интерактивного меню может отличаться между версиями top.
Указать сколько процессов показывать
- Увеличить количество строк: переведите фокус в поле ввода команд в top, нажмите число, затем Enter. (Например, 100 Enter покажет 100 строк в списке процессов.)
Альтернатива: запуск в пакетном режиме и фильтрация внешними утилитами:
top -b -n 1 | head -n 120где -b — batch (пакетный) режим, -n 1 — одна итерация вывода.
Изменить приоритет процесса (renice)
В интерактивном режиме top вы можете изменить nice-значение процесса:
- r — введите PID процесса, затем новое значение nice (от -20 до +19). Меньшее значение = более высокий приоритет.
Пример:
- Нажмите r.
- Введите PID, например 2345.
- Введите новое значение NI, например 5, и нажмите Enter.
Важно: для установки более высокого приоритета (отрицательного NI) требуются права root.
Завершить процесс с помощью top
- k — введите PID процесса, затем сигнал POSIX (по умолчанию 15, SIGTERM). Часто рекомендуется сначала отправить SIGTERM (15), а при неотзывчивости — SIGKILL (9).
Пример:
- Нажмите k.
- Введите PID, например 2345.
- По умолчанию будет предложен сигнал 15 — нажмите Enter.
Если процесс не отвечает, повторите и введите 9.
Совет безопасности: завершайте процессы осторожно на продакшене; сначала проверьте, кто владелец процесса и каков его COMMAND.
Кастомизация отображения
top поддерживает интерактивную настройку полей таблицы:
- f — открыть меню полей (включить/выключить столбцы).
- o или O — поменять порядок сортировки и критерий.
- W — записать текущую конфигурацию в файл ~/.toprc (чтобы сохранять настройки между сессиями).
Шаги для удаления столбца RES:
- Нажмите f.
- Перемещайтесь стрелками к полю RES.
- Нажмите пробел, чтобы выключить.
- Нажмите Enter для выхода.
- Нажмите W, чтобы сохранить конфигурацию.
Альтернативный режим отображения и пакетный вывод
Для сценариев автоматизации или однократного снимка используйте batch mode:
top -b -n 1 > /tmp/top-snapshot.txt- -b — пакетный (неинтерактивный) режим.
- -n 1 — количество обновлений (итераций). Для непрерывного мониторинга используйте число >1.
Комбинации:
# Отсортировать по памяти и вывести топ-20
top -b -o +%MEM -n 1 | head -n 40
# Одноразовый снимок с полными командными строками
top -b -c -n 1 > top-fullcmd.txtДругие клавиши и приёмы
- s — изменить интервал обновления (в секундах).
- q — выйти.
- ? — контекстная справка в некоторых сборках (показывает доступные клавиши).
- S — переключает режим накопления времени CPU (cуммирование или нет).
- u — фильтр по пользователю (см. выше).
Подсказка: если вы используете tmux или экран, убедитесь, что сочетания клавиш не конфликтуют с привязками сессии.
Аналоги top
Если вам нужен более дружественный интерфейс или дополнительные возможности, рассмотрите альтернативы:
- htop — интерактивный, с мышью, удобная фильтрация и деревья процессов.
- atop — продвинутая утилита для долговременного мониторинга с логированием.
- glances — мульти-платформенный монитор с плагинами и веб-интерфейсом.
- ps / sar / pidstat — однократные или статистические утилиты для скриптов.
Когда top лучше: быстрый и установлен по умолчанию на многих системах, работает в минимальном окружении. Когда нужен htop: когда нужно удобное интерактивное управление, цветные колонки и дерево процессов с мышью.
Методика быстрого triage при высокой нагрузке
- Откройте top и посмотрите на первую строку (load average). Сравните с количеством ядер — если load > cores, возможна перегрузка.
- Нажмите P — посмотрите процессы по %CPU. Если один процесс нагружает CPU, переключитесь на его полную командную строку (c) и владелец (USER).
- Нажмите M — если много потребления памяти, сортируйте по %MEM.
- Если процесс не отвечает и блокирует ресурсы, сначала попробуйте уменьшить приоритет (r) или аккуратно завершить (k с сигналом 15). При неэффективности — SIGKILL (9).
- Логируйте snapshot: top -b -n1 > /tmp/top-YYYYMMDD.log для последующего разбора.
Фактическое решение зависит от роли: девелопер может перезапустить сервис, а оператор — масштабировать или переключить трафик.
Шпаргалка — часто используемые клавиши (cheat sheet)
- Q — выйти.
- P — сортировка по CPU.
- M — сортировка по памяти.
- N — сортировка по PID.
- T — сортировка по TIME+.
- c — показать/скрыть полную командную строку.
- 1 — показать все CPU отдельно.
- t — переключить вывод CPU (числа/графики/блоки/скрыть).
- m — переключение памяти (числа/графики/блоки/скрыть).
- z — включить/выключить цвета.
- y — подсветить выполняющиеся задачи.
- x — подсветить столбец сортировки.
- r — renice (изменить nice для PID).
- k — kill (отправить сигнал PID).
- u — фильтр по пользователю.
- f — конфигурация полей.
- W — сохранить текущие настройки в ~/.toprc.
- b - переключение типа выделения (bold / reverse).
- e / E — изменить единицы в списке / сводке.
Контроль доступа и безопасность
Изменение приоритета на более высокий (отрицательное значение nice) и отправка сигналов требует соответствующих привилегий. На сервере используйте sudo при выполнении действий, критичных для процессов других пользователей.
Примечание: не пытайтесь завершать процессы без понимания последствий в продуктивной среде — это может привести к потере данных или простоям.
Ролевые чек-листы
Системный администратор:
- Оценить load относительно ядер.
- Отсортировать по %CPU и %MEM.
- Зафиксировать snapshot в файл.
- Проверить владельца процесса и командную строку.
- Попробовать уменьшить приоритет, затем аккуратно завершить.
Разработчик сервиса:
- Открыть топ и отфильтровать процессы приложения по пользователю/команде.
- Посмотреть аргументы запуска через c.
- При необходимости перезапустить сервис и собрать логи.
Оператор/DevOps:
- Сравнить индикаторы использования CPU/памяти с SLO.
- Если потребуется, снизить нагрузку через переключение трафика или масштабирование горизонтально.
- Задокументировать инцидент и действия.
Примеры использования в скриптах
Получить топ-10 по памяти и сохранить в лог:
#!/bin/bash
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
top -b -n 1 -o +%MEM | head -n 35 > /var/log/top-memory-$TIMESTAMP.logПолучить процессы, потребляющие >10% CPU (простая фильтрация):
top -b -n1 | awk 'NR>7 {if ($9+0 > 10) print $0}'Когда top не подходит
- Нужен длительный исторический мониторинг — используйте atop, collectd, Prometheus, Grafana.
- Нужен удобный TUI с мышью — htop предпочтительнее.
- Нужна агрегация метрик по кластерам — используйте систем мониторинга.
Ментальные модели и эвристики
- “Load vs Cores”: если load average значительно больше числа ядер — вероятна CPU-узкая бутылочная шейка.
- “Memory vs Swap”: активное использование swap — сигнал нехватки RAM или плохого поведения приложений.
- “Пиковая активность одного процесса”: сегментируйте — перезапуск, изменение конфигурации или масштабирование.
Decision tree для первичной диагностики
graph TD
A[Высокая нагрузка?] -->|Нет| B[Мониторить дальше]
A -->|Да| C{Load > ядра?}
C -->|Да| D[Сортировать по %CPU]
C -->|Нет| E{Память высокая?}
D --> F{Найден горящий процесс?}
F -->|Да| G[Посмотреть командную строку, renice/kill]
F -->|Нет| H[Рассмотреть I/O или блокировки]
E -->|Да| I[Сортировать по %MEM]
I --> J{Swap > 0?}
J -->|Да| K[Проверить кешы/освободить память]
J -->|Нет| L[Оценить утечки памяти]Краткая энциклопедия терминов (1 строка каждая)
- Load average — средняя длина очереди задач (за 1/5/15 минут).
- Nice — смещение приоритета процесса (-20 высокого приоритета, +19 низкого).
- RES — реальный объём занятой физической памяти процессом.
- VIRT — объём виртуальной памяти (включая своп, mmap, библиотеки).
Критерии приёмки
- Вы можете идентифицировать процесс, создающий нагрузку, и увидеть его командную строку.
- Вы умеете изменить приоритет и отправить сигнал завершения через top.
- Научились сохранять конфигурацию и делать snapshot для последующего анализа.
Заключение
top остаётся лёгким и мощным инструментом для интерактивного анализа процессов и быстрого triage. Он не заменит полноценную систему мониторинга или журналирования, но часто оказывается первым инструментом в арсенале системного администратора и разработчика. Изучите клавиши, сохраните удобный ~/.toprc, и у вас всегда будет быстрый монитор состояния системы.
Важно: всегда тестируйте команды в небое-опасной среде, прежде чем применять на продакшене.
Ссылки на аналоги и полезные команды
- htop — sudo apt install htop
- atop — sudo apt install atop
- glances — pip3 install glances или пакетный менеджер
Похожие материалы
Настройка TCP/IP в Windows
Код-пароль Kindle: установка, изменение и сброс
Установить Dolby Atmos в Windows 11
Windows Media Encoder на Windows 10 — установка и альтернативы
Отключить сохранение паролей в Google Chrome