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

Введение
Системный мониторинг помогает измерять производительность приложений и служб Linux, видеть потребление ресурсов процессами и быстро находить узкие места. Для этого есть как стандартные утилиты, так и более удобные альтернативы. Одна из таких альтернатив — htop: интерактивный, цветной, управляемый мышью и клавиатурой монитор процессов.
В этой статье вы узнаете:
- чем htop отличается от классического top;
- как установить htop в популярных дистрибутивах или собрать из исходников;
- как читать интерфейс и использовать сочетания клавиш;
- лучшие практики, типичные сценарии и рекомендации на проде.
Важно: htop не заменяет полные профайлеры или системы мониторинга (Prometheus, Netdata, Zabbix), но отлично подходит для интерактивной диагностики в терминале.
htop против top
htop предлагает ряд удобств по сравнению с классическим top, которые ускоряют интерактивную работу и делают интерфейс более понятным.
| htop | top |
|---|---|
| Цветная визуализация и улучшенный текстовый интерфейс | Базовый интерфейс без цветового разделения |
| Горизонтальная и вертикальная прокрутка | Нет прокрутки; процессы обновляются каждые 5 секунд по умолчанию |
| Поддержка мыши | Без поддержки мыши |
| Отображает ядровые и пользовательские потоки | Отображает процессы без контекста потоков |
| Управление процессами прямо из интерфейса | Для kill/renice нужно выходить из интерфейса или вводить команды вручную |
| Удалённое завершение нескольких процессов без указания PID | Требует указания PID для завершения процесса |
| Не требует значения приоритета или PID для изменения nice | Для renice требуется PID и значение приоритета |
Когда htop не подходит: если вам нужна автоматизированная агрегация метрик, долгосрочное хранение метрик или детальный профайлинг по трассировкам, лучше смотреть на серверные системы мониторинга и профайлеры. htop ориентирован на интерактивную работу локально или по SSH.
Установка htop в разных дистрибутивах
Если вам нужна последняя стабильная версия, обычно её можно установить через системный пакетный менеджер. Ниже команды для популярных дистрибутивов.
Debian
sudo apt install htopUbuntu
sudo apt-get install htopManjaro / Arch
pacman -S htopCentOS или RHEL 8/7
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm #RHEL8
sudo yum install htopsudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm #RHEL7
sudo yum install htopyum -y install epel-release #CentOS
yum -y update
yum -y install htopFedora
sudo dnf install htopOpenSUSE
sudo zypper install htopУстановка через Snap
Snap позволяет получить актуальную версию независимо от дистрибутива.
sudo apt update
sudo apt install snapd
sudo snap install htop Проверьте страницу Snap Store для дополнительных инструкций по другим дистрибутивам.
Сборка htop из исходников
Если необходима самая свежая версия или специфические опции компиляции, соберите htop из исходников. htop использует библиотеку ncurses — её заголовки и dev-пакеты нужны при сборке.
Для RHEL/CentOS/Fedora:
yum groupinstall "Development Tools"
yum install ncurses ncurses-develДля Debian/Ubuntu:
sudo apt-get install build-essential
sudo apt-get install libncurses5-dev libncursesw5-devДалее скачайте релиз с GitHub и распакуйте:
wget -O htop-2.0.2.tar.gz https://github.com/htop-dev/htop/archive/refs/tags/2.0.2.tar.gz
tar xvfvz htop-2.0.2.tar.gz Соберите и установите:
cd htop-2.0.2
./configure
make
sudo make installСовет: перед установкой из исходников проверьте зависимости и, при необходимости, используйте пакетный менеджер для их установки.
Интерфейс htop: быстрое руководство
Запустите htop командой:
htopНиже — пример интерфейса и пояснения.

Интерфейс состоит из трёх зон: заголовок, центральная панель с процессами и нижний ряд с подсказками клавиш.
Заголовок
В заголовке отображаются графики загрузки CPU, строки памяти и swap, время работы системы (uptime), количество задач и средняя загрузка (load average). Каждому логическому ядру соответствует своя полоса загрузки.
Цвета в htop помогают быстро понять, кто потребляет ресурсы:
- Красный — загрузка ядра (system).
- Синий — низкоприоритетные процессы (nice/low priority).
- Зелёный — пользовательские процессы (user).
В линиях памяти:
- Жёлтый — кэш-файлы (cache).
- Зелёный — используемая память (used).
- Синий — буферы (buffer).
Центральная панель
Отображает список процессов с колонками: PID, пользователь, виртуальная и физическая память, процент CPU и другие. Это та часть, к которой вы привыкнете, если ранее пользовались top.

Нижняя панель
Показывает быстрые подсказки по функциям и нажатиям клавиш. Примеры:
- F3 (или /) — поиск по имени процесса.
- F2 — настройки (меню для добавления/удаления колонок, смены цветов, перестановки метрик).
- F5 — дерево процессов (tree view).
- F9 — отправка сигнала (kill) выбранному процессу.

В настройках (F2) вы можете перетаскивать метрики и менять порядок отображения в заголовке:

Перемещение поля Swap в заголовке — пример редактирования метрик:

Нажмите Done, чтобы сохранить изменения:

Добавление нового счётчика осуществляется выбором из списка Available meters и нажатием Add:

При отправке сигнала (F9) отображается список сигналов, аналогичный выводу команды kill -l. Если не уверены, используйте SIGTERM (15) вместо SIGKILL (9) для корректного завершения процесса:

Сочетания клавиш и горячие действия
| Функция / Сочетание | Описание |
|---|---|
| u | Сортировка по владельцу (username) |
| p | Переключить отображение пути к программе |
| F2 или S | Вход в меню настроек |
| F3 или / | Поиск процесса |
| F5 или t | Древовидный (tree) или стандартный вид |
| F6 +/- | Выбор родительского процесса для развёртывания/сворачивания дерева |
| F7 или [ | Повысить приоритет (только от root) |
| F8 или ] | Понизить приоритет (nice +) |
| F9 или k | Убить процесс (отправить сигнал) |
| H | Переключить отображение потоков пользовательских процессов |
| K | Переключить отображение потоков ядра |
Совет: если вы работаете по SSH на удалённом сервере, убедитесь, что ваша SSH-сессия корректно передаёт функциональные клавиши к удалённому терминалу.
Практические сценарии использования
Быстрая диагностика высокой загрузки CPU:
- Откройте htop, отсортируйте по CPU (нажмите %CPU в заголовке или нажмите P).
- Посмотрите дерево процессов (F5) — возможно, корневой процесс порождает пул процессов.
- Если нужно завершить группу процессов, выделите и нажмите F9, затем SIGTERM.
Поиск процессов, потребляющих память:
- Сортировка по %MEM.
- Проверка виртуальной памяти (VIRT) и резидентной (RES).
Изменение приоритета процесса (renice):
- Выберите процесс, нажмите F7/F8 для изменения nice. Для уменьшения nice требуется root.
Отладка I/O или кратковременных пиков:
- Добавьте метрики I/O в заголовок через F2, следите за всплесками.
Когда htop не подойдёт или даст ложное ощущение контроля
- Долговременный мониторинг: htop даёт снимок в реальном времени, но не хранит метрик исторически.
- Аггрегация и оповещения: htop не умеет слать алерты или агрегировать метрики по множеству хостов.
- Глубокий профиль: для трассировки Syscall и CPU-профайла используйте perf, eBPF-инструменты или профайлеры приложений.
Альтернативы и комплементарные инструменты
- top — стандартный инструмент, доступен по умолчанию.
- atop — сохраняет метрики исторически и удобен для ретроспективного анализа.
- glances — монитор с возможностью расширения и веб-интерфейсом.
- htop + netdata/Prometheus/Grafana — htop для быстрой диагностики, системы APM и мониторинга для долгосрочного наблюдения.
Модель мышления: как думать о процессе при мониторинге
- Сортируйте по проблемной метрике (CPU, MEM, IO).
- Ищите корневой процесс в дереве — часто проблема вызвана дочерними процессами.
- Сравнивайте RES и VIRT, чтобы понять реальное потребление памяти.
- Применяйте мягкие действия: SIGTERM → анализ логов → SIGKILL только при необходимости.
Шаблон быстрого реагирования (Playbook)
- Шаг 1: Откройте htop и отсортируйте по нужной метрике.
- Шаг 2: Найдите подозрительный процесс, проверьте дерево (F5).
- Шаг 3: Сначала попытайтесь снизить нагрузку (renice, приоритет).
- Шаг 4: Сообщите владельцу процесса (если не вы) и проверьте логи.
- Шаг 5: Если процесс не отвечает — SIGTERM, подождите, затем SIGKILL.
Важно: перед SIGKILL убедитесь, что у вас есть план восстановления для зависимых сервисов.
Критерии приёмки
- htop успешно устанавливается командой пакета дистрибутива без ошибок.
- Интерфейс запускается командой htop от обычного пользователя.
- Возможность поиска процессов работает через F3 и /.
- Настройки (F2) сохраняются между запусками, если установлено соответствующее окружение.
Контрольные тесты / приёмочные сценарии
- Тест 1: Установите htop и запустите его; убедитесь, что отображаются все CPU-ядра.
- Тест 2: Отсортируйте процессы по памяти и найдите PID топ-5.
- Тест 3: Измените nice у процесса и проверьте перераспределение CPU.
Безопасность и приватность
- htop отображает процессы и владельцев; предоставление доступа к терминалу с htop даёт возможность видеть метаданные процессов.
- Запуск htop от root показывает все процессы; ограничьте доступ к пользователям, которым это действительно нужно.
Краткий глоссарий (1 строка на термин)
- PID — идентификатор процесса.
- RES — резидентная (физическая) память процесса.
- VIRT — виртуальная память процесса.
- nice — приоритет процесса, влияет на расписание CPU.
Часто задаваемые вопросы
Нужно ли запускать htop от root?
Нет — htop можно запускать от обычного пользователя. От root будут видны все процессы и доступно изменение приоритета для любых PID.
Как безопасно завершать процессы через htop?
Сначала отправьте SIGTERM (по умолчанию), подождите завершения и только при необходимости используйте SIGKILL.
Можно ли логировать вывод htop?
htop предназначен для интерактивной работы и не логирует данные. Для исторического мониторинга используйте atop, sysstat, Prometheus и т.п.
Как вернуть стандартный вид (top) после изменений в htop?
В настройках (F2) можно сбросить внесённые изменения или удалить пользовательский конфиг из домашней директории (обычно ~/.config/htop/).
Заключение
htop — мощный инструмент для интерактивной диагностики состояния Linux-сервера. Он улучшает обзор процессов за счёт цветовой схемы, поддержки мыши, прокрутки и управления процессами прямо из интерфейса. Однако для долгосрочного мониторинга и алертинга остаются необходимые специализированные системы. Используйте htop для быстрой локальной диагностики, а для устойчивого наблюдения внедряйте промышленные системы мониторинга.
Краткое резюме:
- htop удобнее и нагляднее, чем top;
- легко устанавливается в любом дистрибутиве;
- идеально подходит для интерактивной диагностики;
- не заменяет долгосрочного и централизованного мониторинга.
Сценарий анонса (100–200 слов):
htop — удобный инструмент для администратора и разработчика. Он заменяет стандартную утилиту top, предоставляя цветные графики, поддержку мыши, прокрутку и удобное управление процессами. В этой статье мы показали, как установить htop на популярных дистрибутивах, как собрать его из исходников, как читать интерфейс и какие сочетания клавиш ускоряют повседневные операции. Также мы привели практический playbook действий при высокой нагрузке на систему, список альтернатив и рекомендации по безопасности. htop — отличный выбор для быстрой интерактивной диагностики и первой линии реагирования на проблемы с ресурсами.
Похожие материалы
Как составить CV фрилансера, которое продаёт
Приоритизация благополучия для устойчивой продуктивности
Как избежать укачивания в видеоиграх
Как установить шрифты на Windows, Linux и Mac
Вики в Notion: руководство по созданию и настройке