Определение простыми словами
htop показывает, кто потребляет CPU и память на сервере прямо сейчас. В отличие от top, у него цветные шкалы для каждого ядра, нагрузка по строкам и колонкам сразу читаема, можно скроллить горизонтально для длинных команд, фильтровать по имени, убивать процессы выбором мышью.
Запускается одной командой htop, требует пакет htop из репозиториев (apt install htop, yum install htop, brew install htop). Версия 3.x умеет показывать GPU-метрики, делает копии вывода, поддерживает темы. Для bare-metal серверов — must-have, для VPS показывает реальную нагрузку процессов вашего инстанса (но CPU steal time прячется во вкладке).
Сравнение htop с альтернативами
| Утилита | Особенности | Когда выбрать |
|---|---|---|
| top | Везде по умолчанию, минимальный | Если htop не установлен и нет интернета |
| htop | Цвета, мышь, дерево, фильтр | Универсальный выбор |
| btop | Графики CPU/диска/сети, тёмная тема | Современный сервер с UTF-8 |
| atop | Запись истории, разбор задним числом | Длительный мониторинг с накоплением |
| glances | Web-интерфейс, экспорт в Prometheus | Удалённый мониторинг через браузер |
Кейсы использования
- «Сервер тормозит» → htop, сортировка по %CPU (F6 → PERCENT_CPU), сразу видно, что MySQL выжирает 700%.
- OOM Killer убил процесс → htop с колонкой RES + сортировка по памяти, ищем хищника, добавляем лимит в systemd.
- Утечка памяти PHP-FPM → F2 → добавить колонку M_VIRT, наблюдать рост за час.
- Negative-сценарий: запустили htop по SSH через медленный канал, 10 секунд до отрисовки. Используйте htop -d 50 (полсекунды) или btop с лимитом FPS.
- Подсчёт «реальных» ядер: верхняя строка с CPU%-барами; Load Average в правом верхнем углу.
Технические детали
# Установка
apt install -y htop # Debian/Ubuntu
yum install -y htop # CentOS/RHEL
dnf install -y htop # Fedora/AlmaLinux
# Запуск с фильтром по пользователю
htop -u www-data
# Снимок состояния (выгрузка в файл)
htop -C -d 1 > /tmp/htop-snapshot.txt &
sleep 2; kill %1
# Полезные хоткеи внутри
# F2 — настройка колонок и тем
# F4 — фильтр по имени процесса
# F5 — дерево процессов
# F6 — выбор сортировки (PERCENT_CPU, M_RESIDENT, USER)
# F9 — отправить сигнал (SIGTERM, SIGKILL)
# t — переключить дерево/плоский
# H — скрыть пользовательские потоки
# K — скрыть kernel threads
# Конфиг
~/.config/htop/htoprc # сохраняется автоматически после F10
# Установка как процесс по умолчанию для пакета procps
update-alternatives --install /usr/bin/top top /usr/bin/htop 50
Для production-сервера держите htop под рукой, но для долгого анализа лучше atop с записью раз в 10 минут. atop сохраняет историю, и через неделю можно посмотреть, что было в момент пикового LA трое суток назад. htop живёт здесь и сейчас.
🔥 Где это применяется
Частые вопросы
Чем htop лучше top?
Цветной интерфейс, сортировка по любой колонке мышью, фильтр процессов, дерево, отправка сигналов через меню, горизонтальный скролл длинных команд, читаемые шкалы CPU и памяти.
Почему htop показывает 200% CPU?
На многоядерной системе один процесс может загрузить несколько ядер. 200% означает два ядра под завязку. Чтобы увидеть нагрузку относительно всех ядер, переключите режим в F2 → CPUs.
Как узнать память процесса в htop?
Колонка RES — резидентная память (то, что реально в RAM). VIRT — виртуальная (включает swap и mapped-файлы). Для honest-цифр сортируйте по RES, не по VIRT.