Введение
Откажемся от сухого чтения справочников man в пользу живой практики в консоли. В этой статье мы последовательно разберем ключевые возможности утилиты htop: от отслеживания утилизации процессора и оперативной памяти в реальном времени до иерархического отображения дерева процессов, быстрой фильтрации и точечного управления системными ресурсами.
Установка htop и базовые параметры запуска
Для развертывания рабочей среды обновим локальные индексы пакетов и установим монитор ресурсов через пакетный менеджер:

Убедиться в успешной инсталляции и узнать текущую установленную версию программы можно с помощью флага -v:

Полный перечень параметров запуска и вспомогательную информацию выводит флаг --help:
⚙️ [Ключевые аргументы командной строки]
-d : задает интервал обновления данных на экране с точностью до десятых долей секунды.-p : ограничивает мониторинг только указанными идентификаторами процессов (PID).-u : выводит задачи, запущенные от имени конкретного пользователя.-s : сортирует таблицу процессов по выбранной колонке метрик.-t : активирует древовидное представление иерархии процессов (родительские и дочерние связи).-C : отключает цветовую схему, переводя интерфейс в монохромный режим.-F : выполняет поиск и фильтрацию процессов по совпадению в тексте выполняемой команды.

Запуск фоновых задач, фильтрация по PID и древовидный вид
Сгенерируем демонстрационную задачу, отправив команду ожидания длительностью 300 секунд в фоновый режим:

С помощью утилиты pgrep извлечем числовой идентификатор (PID) созданного процесса:

Чтобы исключить лишний системный шум и следить исключительно за интересующей задачей, передадим найденные PID в htop -p $(pgrep -d',' sleep):
Такой подход изолирует вывод, позволяя детально наблюдать за конкретным экземпляром приложения.

Для наглядного анализа взаимосвязей между родительскими и порожденными потоками запустим интерактивный режим дерева через htop -t:
Древовидная структура мгновенно показывает происхождение дочерних процессов и их контекст в системе.

Выборка процессов по пользователю и сортировка по ресурсам
Когда требуется отфильтровать системные демоны и фоновые службы других учетных записей, запускаем мониторинг с привязкой к текущему сеансу с помощью команды htop -u $(whoami):
Это оставляет на экране только процессы вашей текущей учетной записи, существенно упрощая их аудит.

Для обнаружения утечек памяти или приложений, интенсивно расходующих ОЗУ, отсортируем таблицу по проценту занятой RAM командой htop -s PERCENT_MEM:
Самые ресурсоемкие задачи мгновенно окажутся в верхней части списка, что позволяет быстро локализовать узкие места.

Аналогичным образом выявляются виновники повышенной вычислительной нагрузки через сортировку по загрузке процессора с помощью htop -s PERCENT_CPU:
Этот режим наглядно демонстрирует процессы, создающие максимальную нагрузку на ядра CPU в реальном времени.

Управление приоритетами (Nice) и остановка проблемных процессов
Смоделируем вычислительную нагрузку, запустив бесконечный цикл в фоне, и сразу сохраним его идентификатор:

Чтобы фоновая утилита не препятствовала работе критически важных задач, снизим ее приоритет планировщика с помощью renice +10 -p $TEST_PID:
Увеличение значения Nice с 0 до 10 делает процесс более «уступчивым», освобождая кванты времени процессора для других сервисов.

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

Мы на практике освоили основные сценарии работы с утилитой htop — от визуализации системных метрик до тонкой регулировки приоритетов и очистки процессов.
Применяйте эти приемы в повседневном администрировании серверов для быстрого устранения сбоев и поддержания стабильной производительности вашей инфраструктуры.