Команда htop в Linux — это мощный терминальный инструмент для мониторинга процессов и использования системных ресурсов в реальном времени. В отличие от стандартной утилиты top, htop предлагает улучшенный интерфейс с цветовой визуализацией загрузки CPU, оперативной памяти (RAM) и раздела подкачки (SWAP). Кроме того, он поддерживает вертикальную и горизонтальную прокрутку, что позволяет просматривать полную информацию о процессах.
В этой статье мы рассмотрим практические примеры работы с htop на Ubuntu 24.04. Поехали!
Требования
- Сервер с Ubuntu 24.04 или другой дистрибутив Linux (CentOS, Debian, AlmaLinux).
- Права доступа: root или пользователь с sudo-правами.
Обновление системы
Перед использованием htop рекомендуется обновить пакеты системы. Выполните:
sudo apt update -y && sudo apt upgrade -y
Синтаксис команды htop
Синтаксис htop очень простой. Можно запускать его без аргументов или с дополнительными параметрами:
htop [аргументы]
1. Запуск htop без аргументов
Самый распространённый вариант — просто ввести:
htop
После этого откроется интерактивный интерфейс (как на скриншоте ниже).
Пояснения
- Без аргументов → стандартный режим мониторинга (CPU, RAM, процессы).
- С аргументами → дополнительные настройки (например, -d для изменения интервала обновления).
Следующие разделы покажут, как использовать htop для анализа системы.
2. Отображение процессов конкретного пользователя
Чтобы вывести список процессов, запущенных от имени определённого пользователя (например, mysql), выполните команду:
htop -u mysql
После этого в интерфейсе htop отобразятся только процессы, связанные с указанным пользователем.
Пример вывода:
PID USER PRI NI VIRT RES SHR CPU% MEM% TIME+ COMMAND
1234 mysql 20 0 2.5G 1.2G 150M 5.3 12.1 10:20.34 mysqld
5678 mysql 20 0 500M 80M 20M 1.2 0.8 00:05.12 mysql_worker
Как это работает?
- -u mysql — фильтрует процессы, оставляя только те, что принадлежат пользователю mysql.
- Полезно для администрирования серверов, когда нужно проверить нагрузку от конкретной службы (например, СУБД).
Совет:
Если нужно отслеживать процессы нескольких пользователей, используйте:bashCopyhtop -u user1,user2
3. Сортировка по столбцу
Чтобы отсортировать процессы в htop по определённому столбцу (в данном примере — по времени работы TIME), выполните команду:
htop -s TIME
Результат:
- Процессы будут отсортированы по столбцу TIME (общее время использования CPU).
- По умолчанию сортировка выполняется по убыванию (сначала процессы, которые работают дольше всего).
Как это выглядит:
4. Отображение конкретных процессов по их ID
Команда htop позволяет выводить информацию только о процессах с указанными идентификаторами (PID). Для этого используйте:
htop -p 235296
Что произойдёт:
- В интерфейсе htop отобразится только процесс с PID 235296.
- Если такого процесса нет, список будет пустым.
Пример вывода:
PID USER PRI NI VIRT RES SHR CPU% MEM% TIME+ COMMAND
235296 user 20 0 1.2G 350M 45M 3.1 4.5 02:15.67 python3 app.py
Как управлять процессом?
- Нажмите F9, чтобы открыть меню сигналов.
- Выберите действие (например, SIGTERM для graceful-завершения или SIGKILL для принудительного).
Дополнительные возможности
- Можно указать несколько PID через запятую:bashCopyhtop -p 123,456,789
- Полезно для:
- Мониторинга конкретных сервисов.
- Точечного завершения "зависших" процессов.
Важно:
Убедитесь, что PID существует (проверьте через ps aux | grep <PID>).
5. Отображение процессов в виде дерева
Чтобы увидеть иерархию процессов (какие процессы являются родительскими, а какие — дочерними), используйте команду:
htop -t
Результат:
- В столбце COMMAND процессы отобразятся в древовидной структуре, например:Copy├─ systemd (1)
- │ ├─ sshd (1234)
- │ │ └─ bash (5678)
- │ └─ nginx (9012)
- └─ docker (3456)
- Это помогает понять, какие процессы зависят от других.
Как использовать?
- Запустите htop -t.
- Нажмите F5 для переключения между обычным и древовидным режимом (если уже в htop).
Зачем это нужно?
- Выявление "зомби"-процессов (незавершённых дочерних процессов).
- Понимание структуры запущенных служб (например, какие процессы порождены systemd или docker).
- Удобно для администрирования серверов и отладки.
Совет:
В древовидном режиме можно сворачивать/разворачивать ветки клавишами + и -.
6. Отключение цветов в выводе htop
Если вам нужен монохромный (чёрно-белый) вывод без цветового оформления, используйте флаг -C:
htop -C
Результат:
7. Подробное описание htop
Если вы хотите узнать все возможности htop, выполните в терминале команду:
bash
Copy
man htop
Основные разделы справки:
Название
htop, pcp-htop — интерактивный просмотрщик процессов.
Синопсис
htop [-dCFhpustvH]
pcp htop [-dCFhpustvH] [--host/-h host]
Описание
htop — это кроссплатформенный просмотрщик процессов на основе ncurses.
В отличие от top, он позволяет:
- Прокручивать список вертикально и горизонтально.
- Управлять процессами с помощью мыши.
- Просматривать процессы в древовидной структуре.
- Выбирать несколько процессов и действовать с ними одновременно.
- Управлять процессами (завершение, изменение приоритета) без ввода PID.
Командные опции
- -d (--delay=DELAY)
- Задержка между обновлениями (в десятых долях секунды).
- Минимум: 0.1 сек.
- Максимум: 10 сек.
- -C (--no-color)
- Запуск в монохромном режиме (без цветов).
- -F (--filter=FILTER)
- Фильтрация процессов по названию команды (регистр не учитывается).
- Пример:bashCopyhtop -F "nginx|mysql"
- -h (--help)
- Показать справку и выйти.
- -p (--pid=PID,PID...)
- Показать только процессы с указанными PID.
- -s (--sort-key COLUMN)
- Сортировать по столбцу (например, PERCENT_CPU или TIME).
Итог
Теперь вы знаете основные команды htop для мониторинга процессов и ресурсов в Linux. С их помощью можно:
✅ Отслеживать нагрузку на CPU, RAM и SWAP.
✅ Управлять процессами без ввода PID.
✅ Настраивать отображение под свои нужды.
Совет: Для более глубокого изучения используйте man htop или htop --help.
Готовы к эффективному администрированию? 🚀