linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
Index
Categories
All entries
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
home/linux/kb/Команды/cmd-htop

kb/commands ── Команды ── beginner

htop - интерактивный монитор процессов

htop - интерактивный TUI-монитор процессов. F-keys: F3 поиск, F4 фильтр, F5 дерево, F6 сортировка, F9 kill. Цветовые столбцы наверху, список внизу. Замена top'а везде, где доступен.

view as markdownaka: htop, htop-command, btop

Зачем htop вместо top

top всегда есть, но read-only по дефолту, скучно отсортирован, не показывает дерево. htop цветной, интерактивный, мышью можно кликать. В современных distro обычно ставится первой командой после установки системы.

Альтернативы: btop (красивее, графики), glances (включая сеть и диск), atop (история нагрузки на диск). Но htop - стандарт.

Запуск

bash
htop                       # все процессы
htop -u user               # только конкретного юзера
htop -p $(pgrep nginx)     # только PID-ы nginx
htop -t                    # с tree-mode сразу
htop --filter=nginx        # фильтр по имени

Что показывают столбцы наверху

По дефолту:

CPU   [|||||||||                    25%]
Mem   [||||||||||||                3.2G/16G]
Swp   [                            0K/2G]
  • Каждое ядро отдельно (можно объединить в среднее)
  • Цвет CPU: зелёный=user, красный=kernel, синий=low-prio, оранжевый=iowait
  • Mem: зелёный=used, синий=buffers, жёлтый=cache (cache≠потеряно!)
  • Tasks: всего | running | threads
  • Load average и Uptime

В F2 Setup → Meters можно добавить: Hostname, температуру (Temperature), battery, сеть (netio), диск, ZFS ARC.

F-keys (или Esc-комбинации)

КлавишаДействие
F1 / hhelp
F2Setup - меню настроек
F3 / /Search by name (incremental)
F4 / \Filter (постоянный)
F5 / tTree mode
F6Sort by - выбрать колонку
F7/F8Renice (priority)
F9 / kSend signal (по дефолту SIGTERM)
F10 / qQuit
Htoggle threads
Ktoggle kernel threads
ufilter by user (выбор из списка)
Spacemark/unmark процесс (для bulk-действий)
ctag children и tag
sstrace выбранного процесса (если установлен strace)
llsof - открытые файлы выбранного
M/P/Tсортировка по Memory/CPU/Time
+/-развернуть/свернуть поддерево в tree mode

Поиск (F3) - находит первое совпадение, F3 ещё раз - следующее. Фильтр (F4) скрывает всё кроме совпадений. Esc снимает.

Tree mode (F5)

Показывает иерархию родитель → ребёнок. Полезно понять, кто кого запустил:

systemd
 ├─ sshd
 │   └─ sshd: user
 │       └─ bash
 │           └─ htop
 ├─ nginx
 │   ├─ nginx: worker
 │   └─ nginx: worker
 └─ postgres
     ├─ postgres: writer
     └─ postgres: checkpointer

Помогает находить какой родитель спавнит зомби-чайлды.

Полезные колонки

F2 → Columns добавь:

  • CGROUP - в каком cgroup живёт процесс (видно systemd-юниты, контейнеры)
  • OOM - oom_score - чем выше, тем больше шансов словить [[oom-killer|OOM-killer]]
  • IO_RATE - чтение/запись (нужен root и --enable-delayacct)
  • STARTTIME - когда запущен
  • PROCESSOR - на каком CPU выполняется
  • NLWP - число threads

Цветовые подсказки

  • Жёлтое имя процесса - kernel thread
  • Красное PID - в state D (uninterruptible sleep, обычно ждёт I/O)
  • Помеченные пробелом - выделены, F9 убьёт всех помеченных

Как kill'ать через htop

  1. Найди процесс (F3 или мышь)
  2. F9 - откроется меню сигналов
  3. Выбери: SIGTERM (15) - вежливо, SIGKILL (9) - грубо

Между TERM и KILL: SIGINT (2) равно Ctrl+C, SIGHUP (1) обычно вызывает reload без рестарта. Подробнее в signals.

htop в контейнере

По дефолту контейнер видит все процессы хоста (если не своё PID-namespace). В Docker контейнере htop покажет только свои - это норма из-за [[namespaces|PID namespace]].

Если хочешь видеть процессы хоста изнутри:

bash
docker run --pid=host -it alpine sh -c 'apk add htop && htop'

Когда что-то пошло не так

  • load 8 но CPU молчит - I/O wait. Состояние D, процессы спят на диске. Смотри iostat -x 1 или iowait-цвет в htop.
  • Память "почти кончилась" а свободно 200MB - смотри Available, не Free. Cache и buffers отдадутся при необходимости.
  • Процесс не убивается даже SIGKILL - state D (uninterruptible). Ждёт NFS/диск/ядро. Только перезагрузка либо разлочивание устройства.
  • htop сам в топе - F2 → Display → "Hide userland process threads" и "Hide kernel threads" уменьшат CPU самого htop'а.
  • Не показывает container-имена - нужна колонка CGROUP. Имя контейнера в пути /sys/fs/cgroup/.../docker-XXXXX.

Альтернативы

  • top - всегда есть, base
  • btop - красивые графики, ASCII-art, медленнее на старых CPU
  • glances - тоже сеть/диск/процессы в одном окне, на Python
  • atop - бэкграунд-демон с историей; смотри прошлый пик нагрузки

§ команды

bash
htop

Запуск без аргументов - все процессы текущего юзера и системные

bash
htop -u www-data

Только процессы конкретного юзера - удобно на shared-сервере

bash
htop -p $(pgrep -d, nginx)

Только nginx-PID'ы - быстрая фильтрация одной службы

bash
htop -d 50

Refresh раз в 5 секунд (10x по 0.5s) - меньше CPU на самом мониторе

bash
htop --tree

Сразу в tree-mode - быстрее увидеть кто кого запустил

bash
htop --sort-key=PERCENT_MEM

Стартовать отсортированным по памяти - искать утечки

bash
killall -USR1 htop

Не команда htop, но обратная: послать сигнал самому htop из терминала

§ см. также

  • cmd-psps - снимок процессовps - снимок процессов в момент вызова. Два диалекта: BSD (`aux`, без дефиса) и UNIX (`-ef`, с дефисом). `-o` задаёт колонки. Для непрерывного просмотра - [[cmd-htop|htop]].
  • signalsСигналы (SIGTERM, SIGKILL, SIGHUP)Сигнал - асинхронное уведомление процессу от ядра или другого процесса. TERM - попроси завершиться, KILL - убей сразу, HUP - перечитай конфиг.
  • oom-killerOOM killerOOM killer - механизм ядра, который выбирает и завершает процесс когда система упирается в лимит памяти. В контейнерах работает per-cgroup.
  • load-averageLoad averageТри числа в `uptime` - экспоненциальные средние длины очереди процессов (R + D state) за 1, 5 и 15 минут. Имеет смысл только в контексте `nproc`.
  • cmd-stracestrace - какие syscall'ы делает процесс`strace` показывает в реальном времени какие системные вызовы делает процесс и с какими аргументами. Главный инструмент когда «процесс молчит».
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки