Гид по технологиям

Как использовать htop для мониторинга процессов в Linux

10 min read Системное администрирование Обновлено 22 Dec 2025
Как использовать htop для мониторинга процессов в Linux
Как использовать htop для мониторинга процессов в Linux

Открытый терминал Konsole на ноутбуке Kubuntu Focus Ir14 с Linux.

Важно: htop — инструмент для наблюдения и быстрого вмешательства. Для автоскалирования и долгосрочного мониторинга подходят системы метрик и алертинга (Prometheus, Grafana и т. п.).

Быстрый план статьи

  • Что такое htop и зачем он нужен
  • Установка на разные дистрибутивы
  • Обзор интерфейса: Заголовки, процессный экран, I/O
  • Горячие клавиши и управление процессами
  • Настройка: метры, экраны, цвета
  • Когда htop не подходит и альтернативы
  • Практическое руководство: чек-листы и плейбук на случай инцидента
  • Мини-методология оптимизации отображения
  • Краткий глоссарий и FAQ

Что такое htop и зачем он нужен

htop — интерактивный монитор процессов, запущенный в терминале. Это «улучшенная» версия утилиты top: тот же смысл, но удобнее интерфейс, цвета, дерево зависимостей процессов и полная строка команды для каждого процесса.

Короткое определение: утилита для наблюдения за загрузкой CPU, потреблением памяти, I/O и управления процессами в реальном времени.

Польза:

  • Быстро увидеть потребление ресурсов и горячие процессы.
  • Изменить приоритет или завершить процесс без запоминания PID.
  • Удобно использовать по SSH на удалённых серверах.

Установка htop

На Ubuntu/Debian:

sudo apt install htop

На Fedora:

sudo dnf install htop

На Manjaro/Arch:

sudo pacman -S htop

Чтобы запустить htop, введите:

htop

Установка htop в Ubuntu, терминальное окно.

Установка htop в Fedora, терминальное окно.

Установка htop в Manjaro, терминальное окно.

Обзор интерфейса

Внешне htop делится на две большие области: Заголовочная область и Экранная область. Экранная область может показывать либо список процессов, либо I/O-информацию.

Стандартный вид htop сразу после запуска.

Заголовочная область

Заголовочная область содержит метры (meters): графики по каждому ядру CPU, график памяти и swap, а также числовые поля Tasks, Load average и Uptime.

Заголовочная область htop с графиками CPU и памяти.

Обозначения цветов CPU:

  • Синий: процессы с низким приоритетом
  • Зелёный: обычные пользовательские процессы
  • Красный: процессы ядра
  • Жёлтый/оранжевый: guest/виртуальное время для виртуальных машин

Обозначения цветов памяти:

  • Зелёный: использованная память
  • Пурпурный (магента): разделяемая память
  • Серый: сжатая память
  • Синий: память, используемая под буферы
  • Жёлтый/оранжевый: кеш

Swap:

  • Синий: используемый swap
  • Жёлтый/оранжевый: swap, используемый как кеш
  • Серый: frontswap — сжатые страницы памяти, временно удерживаемые вместо записи на диск

Числовые метры:

  • Tasks: количество задач и потоков; число задач в состоянии running
  • Load average: средняя загрузка CPU за 1, 5 и 15 минут
  • Uptime: время с момента последней загрузки системы

Совет: Load average удобен для быстрого понимания перегрузки. Если средняя загрузка значительно превышает количество физических ядер, есть узкие места по CPU.

Экран процессов

Экран процессов показывает сводный, динамически обновляемый список процессов. По умолчанию сортируется по использованию CPU (по убыванию).

Экран процессов в htop.

Колонки (перевод и краткие пояснения):

  • PID — идентификатор процесса
  • USER — владелец процесса
  • PRI — приоритет
  • NI — niceness (значение «вежливости» процесса): чем выше, тем больше процесса «жертвует» ресурсами другим
  • VIR — виртуальная память процесса
  • RES — резидентная (физическая) память
  • SHR — разделяемая память
  • S — состояние процесса (R, S, D, t, Z)
  • CPU% — процент использования CPU
  • MEM% — процент использования памяти
  • TIME+ — суммарное время CPU, использованное процессом
  • Command — команда запуска процесса (полный путь и аргументы)

Состояния в колонке S:

  • R — Running (выполняется)
  • S — Sleeping (ожидает)
  • D — Disk sleep (ожидание ввода/вывода, не прерывается)
  • t — остановлен отладчиком
  • Z — Zombie (зомби)

Интеграция с мышью

htop поддерживает мышь. Нажатие на заголовок колонки выполнит сортировку по этой колонке. Заголовок выбранной колонки подсвечивается, рядом отображается стрелка направления сортировки (вверх — возрастание, вниз — убывание).

Процесс можно выделить кликом или клавишами Home/End/PageUp/PageDown/стрелки.

Выделенный процесс в экране процессов htop.

Горячие клавиши, работа с процессом

Внизу экрана отображается строка подсказок с F-клавишами. Их также можно вызвать мышью по активным подсказкам.

Основные F-клавиши для выбранного процесса:

  • F7 — уменьшить niceness (увеличить приоритет)
  • F8 — увеличить niceness (понизить приоритет)
  • F9 — отправить сигнал (обычно SIGTERM, доступно выбрать другой)

Поиск и фильтры:

  • F3 — поиск по имени. Повторное нажатие ищет следующее совпадение, Shift+F3 — предыдущее
  • F4 — фильтр (введите часть команды или путь, чтобы оставить только совпадающие процессы)
  • F5 — переключить отображение в виде дерева (показывает родительские и дочерние процессы)
  • F10 или q — выход из htop

Замечание: некоторые эмуляторы терминала перехватывают F10. В таких случаях нужно разрешить передачу клавиш в терминал (в настройках эмулятора терминала).

Разрешение передачи F10 в htop через настройки терминала.

F1 открывает справку по цветам, состояниям и сочетаниям клавиш.

Справка в htop с описанием цветов и клавиш.

Экран I/O

Переключиться на I/O можно клавишей Tab или вкладкой I/O над заголовками колонок.

Экран I/O с перечнем процессов и их дисковой активностью.

Колонки I/O:

  • PID — идентификатор процесса
  • USER — пользователь
  • IO — класс планирования ввода/вывода и приоритет (R — realtime, B — best-effort, id — idle)
  • DISK R/W — суммарная скорость чтения/записи (байт/с)
  • DISK READ — скорость чтения (байт/с)
  • DISK WRITE — скорость записи (байт/с)
  • SWPD% — время, затраченное на подкачку страниц (swap), в процентах
  • IOD% — время ожидания синхронных блоковых I/O, в процентах
  • Command — команда запуска

I/O-экран полезен при поиске проблем с дисковой подсистемой: процессы с высоким DISK WRITE или IOD% часто блокируют выполнение других задач.

Настройка (F2)

F2 открывает Setup. Доступны категории: Display options, Header layout, Meters, Screens, Colors.

Экран опций отображения в настройках htop.

Изменения в метрах заголовка применяются немедленно.

Параметры отображения

Здесь можно включать/отключать флаги интерфейса: отображение чисел, команд, дерево процессов и т. д. Это набор чекбоксов — просто отметьте или снимите.

Макет заголовка

Задаёт количество колонок в заголовочной области и их пропорции. По умолчанию два столбца по 50%.

Настройка компоновки заголовка.

Меры (Meters)

Секция позволяет выбрать, какие метры видны в заголовке, и где они расположены. Добавление производится выбором из списка Available Meters и нажатием Enter.

Экран настройки метрик (meters).

После добавления элемент можно перемещать стрелками и зафиксировать Enter. Удаление — Del. Space изменяет стиль отображения (график, числа, большой LED-вид).

Добавление системной метрики в колонку 2, подтверждение.

Новая метрика зафиксирована в колонке 2.

Примеры форматов метрики памяти:

  • Числовой формат

Метр памяти в числовом формате.

  • Временной график

Метр памяти в виде временного графика.

  • Большой LED-стиль

Метр памяти в формате больших LED-цифр.

Экраны

Секция Screens управляет столбцами списка процессов. Можно добавить колонки вроде STARTTIME, USER и т.д., поставить их в нужный порядок и создать собственные экраны.

Экран настройки столбцов процессов.

Добавление столбца STARTTIME в активные столбцы.

F5 создаёт новый пользовательский экран: задайте имя и набор колонок.

Добавление нового пользовательского экрана.

Цвета

Можно выбрать предустановленную тему цветов или настроить собственную палитру.

Экран выбора цветовой темы.

Практические советы по конфигурации — мини-методология

  1. Определите цели мониторинга: CPU-лидеры, I/O-киллеры или утечки памяти.
  2. В Header layout оставьте 2–3 метрики максимум — перегруженный header теряет информативность.
  3. В Meters выберите формат: график для тренда, числа для мгновенного контроля.
  4. Настройте пользовательский экран с колонками: PID, USER, CPU%, MEM%, TIME+, Command, STARTTIME.
  5. Сохраните конфигурацию как дефолтную для текущего пользователя.

Руководство помогает быстро читать информацию и не теряться во множестве неважных метрик.

Быстрый чек-лист (cheat sheet) — горячие клавиши и команды

  • htop — запустить
  • q или F10 — выйти
  • F1 — справка
  • F2 — настройки
  • F3 — поиск
  • F4 — фильтр
  • F5 — дерево процессов
  • F7/F8 — изменить niceness
  • F9 — отправить сигнал (Kill)
  • Tab — перейти на I/O экран
  • Стрелки/Home/End/PageUp/PageDown — навигация

Используйте фильтры (F4) чтобы быстро локализовать процессы по пути или имени (например, “/usr/bin”).

Ролевые чек-листы

Системный администратор:

  • Убедиться, что заголовок показывает CPU, MEM, Swap.
  • Настроить I/O-экран для серверов баз данных.
  • Создать экран с STARTTIME, PID, CPU%, MEM%, Command.
  • Использовать tree (F5) для поиска дочерних тяжёлых процессов.

Разработчик:

  • Отфильтровать процессы приложения по имени или порту.
  • Смотреть TIME+ для определения долгоживущих задач.
  • Временно повысить приоритет процесса (F7) для отладки.

Служба поддержки (on-call):

  • Быстро найти процессы с высоким CPU или I/O.
  • Убить зависший процесс через F9 и выбрать SIGTERM, затем SIGKILL, если не завершился.
  • Записать PID, время и команду в тикет.

Когда htop не подходит — ограничения и альтернативы

htop хорош для интерактивного осмотра, но имеет ограничения:

  • Не хранит историю и не умеет строить долгосрочные графики. Для этого нужны системы мониторинга (Prometheus + Grafana, Zabbix).
  • Неподходит для анализа трассировки производительности и профайлинга (perf, eBPF, flamegraphs).
  • На сильно загруженных машинах с тысячами процессов интерфейс может быть медленным.

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

  • top — стандартный, всегда доступен
  • atop — хранит исторические данные о нагрузке
  • glances — более высокоуровневый обзор и плагиновая система
  • ps + grep — для скриптов и автоматизации

Инцидентный план и плейбук (runbook)

  1. Симптом: сервер отвечает медленно, пользователи жалуются.
  2. Подключиться по SSH и запустить htop.
  3. Проверить заголовок: высокие значения CPU или swap?
  4. На экране процессов сортировать по CPU% и MEM%:
    • Если один процесс потребляет >90% CPU — пометить PID.
    • Если высокое SWAP — искать процессы с высоким RES и пересмотреть настройки памяти.
  5. Если I/O высокая — переключиться на Tab и смотреть DISK R/W и IOD%.
  6. Принять решение:
    • Перезапуск процесса (вежливо через systemctl restart или F9 с SIGTERM).
    • Увеличение niceness (F8/F7) для фоновых задач.
    • Килл только в крайнем случае (SIGKILL).
  7. Документировать действие: PID, время, причина, результат.
  8. Если проблема повторяется — собрать более полные метрики и настроить долгосрочный мониторинг.

Критерии приёмки:

  • После вмешательства сервер возвращается в рабочее состояние.
  • Потребление CPU и I/O стабилизировалось на уровне до инцидента.
  • Лог в тикете содержит PID, команда и принятые действия.

Ментальные модели и эвристики

  • «Load average vs ядра»: если Load average примерно равно числу физических ядер — система загружена нормально. Если значительно больше — очередь задач ожидает CPU.
  • «I/O ожидание = узкое место»: высокий IOD% и DISK R/W указывают на диск как ограничение.
  • «Swap говорит о нехватке RAM»: частое обращение к swap замедляет систему, ищите процессы с большим RES.

Эти эвристики помогают быстро принять решение без глубокого профайлинга.

Примеры нештатного поведения и контрпримеры

  • Процесс с высоким CPU, но низким TIME+ может быть кратковременным всплеском — наблюдайте 1–2 минуты прежде чем убивать.
  • Низкий CPU, но высокий I/O означает диск блокирует операции — перезапуск процесса не всегда поможет.
  • Большой RES у демона может быть нормальным (например, база данных) — сначала сверяйтесь с ожидаемым профилем приложения.

Краткая галерея крайних случаев

  • Сильная утечка памяти: RES растёт непрерывно и swap увеличивается.
  • Массовое создание процессов: множество короткоживущих PID, высокая система нагрузки.
  • Блокировки диска: высокий DISK WRITE и IOD% без заметного роста CPU.

Короткий глоссарий (одна строка каждый)

  • niceness: значение, влияющее на планирование CPU; больше — ниже приоритет.
  • RES: физическая память, используемая процессом.
  • VIR: виртуальная адресная память процесса.
  • IOD%: процент времени, ожидаемого на синхронные блоковые I/O.

Часто задаваемые вопросы

Как обновить список колонок в экране процессов?

Нажмите F2 → Screens, выберите нужные колонки из Available Columns и нажмите Enter.

Можно ли запускать htop с ограниченным выводом для скрипта?

htop — интерактивный инструмент; для скриптов используйте ps/awk или top в batch-режиме. htop имеет опции командной строки, но они ограничены.

Чем отличается top от htop?

Внешне топ и htop похожи, но htop удобнее: цвета, мышь, дерево процессов и полный Command. top легче доступен по умолчанию.

Как передать F-клавиши в htop, если терминал их перехватывает?

Отключите перехват F-клавиш в настройках эмулятора терминала (например, опция Menu Accelerator Key для F10).

Пример конфигурации экрана для базы данных

  1. Header: CPU per core, Memory, Swap.
  2. Screen columns: PID, USER, CPU%, MEM%, I/O, DISK R/W, TIME+, Command, STARTTIME.
  3. Сохранить как пользовательский экран.

Decision tree — быстрое принятие решения для админа

flowchart TD
  A[Проблема: высокая нагрузка сервера] --> B{CPU или I/O?}
  B -->|CPU| C[Сортировать по CPU% в htop]
  C --> D{Один процесс >70%?}
  D -->|Да| E[Посмотреть Command и TIME+; перезапустить/убить после подтверждения]
  D -->|Нет| F[Проверить load average, долгосрочные метрики]
  B -->|I/O| G[Переключиться на I/O экран]
  G --> H{Высокие DISK R/W или IOD%?}
  H -->|Да| I[Идентифицировать процесс; подумать о throttling, рестарте сервиса, перенастройке I/O]
  H -->|Нет| J[Проверить нагрузку по памяти и swap]

Заключение

htop — эффективный инструмент для интерактивного мониторинга процессов. Он удобен для быстрой диагностики и временного вмешательства. Однако для долгосрочного наблюдения и алертинга нужны специализированные системы. Настройте метрики и экраны под свои роли и задачи, используйте чек-листы для инцидентов и дополняйте htop системными метриками.

FAQ — контактная сводка

  • Установка: используйте пакетный менеджер дистрибутива.
  • F-клавиши: доступны внизу экрана; некоторые эмуляторы терминала могут перехватывать их.
  • История данных: htop не хранит исторических данных — для этого нужны внешние системы.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Старые игры не видят «Изображения» в Windows 11 — как исправить
Windows

Старые игры не видят «Изображения» в Windows 11 — как исправить

Отправка сообщений в Slack из bash
Интеграции Slack

Отправка сообщений в Slack из bash

Очистить историю Safari на iPhone и iPad
Инструкции

Очистить историю Safari на iPhone и iPad

Восстановить приложения через библиотеку Google Play
Android.

Восстановить приложения через библиотеку Google Play

TabCloud — синхронизация сессий вкладок между браузерами
Инструменты

TabCloud — синхронизация сессий вкладок между браузерами

Сохранить фото или страницу в PDF на Android
Android.

Сохранить фото или страницу в PDF на Android