Утилита htop – наблюдаем за процессами

Утилита htop — это консольный и интерактивный диспетчер задач, который похож на уже рассмотренный нами top. Но htop имеет свои особенности.

Утилита htop

Утилита htop — это консольный диспетчер задач. Его работа очень похожа на работу top, которую мы рассмотрели в предыдущей статье.

Официальный мануал по этой утилите доступен здесь, или вы можете просто выполнить команду man htop на вашем linux сервере.

Если htop ещё не установлен, то установить его вы можете с помощью apt:

$ sudo apt install htop

Работа этой утилиты выглядит следующим образом:

Работа утилиты htop
Работа утилиты htop

Лично я больше предпочитаю htop, так как лучше умею им пользоваться. Хотя некоторую информацию всё же смотрю с помощью top. Например, процент времени, в течение которого процессор простаивал, ожидая завершения операции ввода-вывода (wa).

Общая информация о системе

Вверху слева видим общее потребление CPU (по каждому ядру), Mem и Swap.

Вверху справа видим общее количество процессов, оно меньше чем показывает top, так как здесь не учитываются процессы ядра, чтобы отобразить количество процессов ядра нужно нажать shift+k:

Утилита htop - 32 процессов и 70 процессов ядра
Утилита htop — 32 процессов и 70 процессов ядра
Утилита top - общее количество процессов 102
Утилита top — общее количество процессов 102

Если сложить процессы и процессы ядра показанные htop (32+70), то получим общее количество процессов (102). Это количество как раз и показывает утилита top.

Там же, справа вверху видно среднюю загрузку системы (Load average) и время работы компьютера с последней загрузки (Uptime).

Информация по каждому процессу

Ниже перечислены процессы и информация по ним:

top – информация по процессам
top – информация по процессам

Описывать поля я не буду, я их уже описывал для утилиты top.

Опции и горячие клавиши в htop

Показать процессы определенного пользователя можно с помощью ключа -u:

 

$ htop -u www-data

 

Выполнение команды htop -u www-data
Выполнение команды htop -u www-data

 

Дальше я покажу горячие клавиши, с помощью которых можно управлять утилитой htop.

 

Для того чтобы выводить процессы в виде дерева нажмите t:

 

htop - дерево процессов
htop — дерево процессов

 

Чтобы выбрать колонку для сортировки, нажмите F6, а чтобы обратить сортировку Shift+i:

 

htop - сортировка процессов
htop — сортировка процессов

 

Чтобы остановить процесс (послать ему сигнал), вначале выделите процесс (1), а затем нажмите k и выберите отправляемый сигнал (2). Например сигнал sigterm — попытается корректно завершить процесс, а sigkill — моментально убьёт его. И нажмите Enter (3) чтобы отправить сигнал процессу:

 

htop - завершение процесса
htop — завершение процесса

 

Чтобы выбрать пользователя, процессы которого отображать нажмите u. Затем нужно будет выбрать пользователя:

 

htop - выбор пользователя
htop — выбор пользователя

 

Также можно показать или убрать полный путь к исполняемым файлам. Для этого нажмите p:

htop - полный путь к исполняемым файлам
htop — полный путь к исполняемым файлам

Чтобы отобразить потоки ядра, нажмите Shift+k:

htop - потоки ядра
htop — потоки ядра

Можно включить или выключить отображение потоков. Для этого нажмите Shift+h. В примере ниже я дополнительно включил вывод в виде дерева, для более удобного восприятия:

htop - потоки
htop — потоки

Показать библиотеки, сетевые порты, сокеты к которым обращается процесс можно выделив его и нажав кнопку l:

htop - информация о процессе
htop — информация о процессе

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

htop - настройка приложения
htop — настройка приложения

При этом htop умеет отображать некоторые поля, которые недоступны в top, например активность диска (IO_RATE):

htop - поле IO_RATE (DISK R/W)
htop — поле IO_RATE (DISK R/W)

Итог

Нами была разобрана утилита htop. Вы узнали опции htop:

  • -u <username> — показывать процессы определенного пользователя.

А также узнали горячие клавиши, с помощью которых можно взаимодействовать с htop:

  • t — выводить процессы в виде дерева или отключить такое отображение;
  • F6 — выбрать поле для сортировки;
  • shift+i — обратить сортировку;
  • k — послать сигнал процессу;
  • u — выбрать пользователя чьи процессы отображать;
  • p — отобразить или скрыть полный путь к исполняемым файлам;
  • shift+k — отобразить или скрыть потоки ядра;
  • shift+h — отобразить или скрыть пользовательские потоки;
  • l — показать ресурсы к которым обращается процесс;
  • F2 — настроить htop.