ZaLinux.ru

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

Лучше htop или top?

Команда htop похожа на команду top по выполняемой функции: они обе показывают информацию о процессах в реальном времени, выводят данные о потреблении системных ресурсов и позволяют искать, останавливать и управлять процессами.

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

Зато в top можно разделять область окна и выводить информацию о процессах в соответствии с разными настройками. В целом top намного более гибкая в настройке отображения процессов.

В общем, чтобы решить, какая из команд лучше именно для вас, попробуйте их обе. В данной статье будет подробно рассказано о htop, чтобы познакомиться с top обратитесь к статье «Как пользоваться командой top для наблюдения за процессами в Linux».

Как установить htop

Установите пакет с именем htop используя менеджер пакетов для вашего дистрибутива.

В Debian, Linux Mint, Ubuntu, Kali Linux и их производных выполните:

sudo apt install htop

В Arch Linux, BlackArch и их производных выполните:

sudo pacman -Syu htop

Как просмотреть все процессы в Linux

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

htop

Так и с привилегиями суперпользователя, для этого используйте sudo:

sudo htop

Права суперпользвоателя нужны только для некоторых действий: для изменения приоритета (nice) процессов, для закрытия процессов других пользователей.

Как и в случае с программой top, окно разделено на два основных раздела:

  • обобщённая информация о системе
  • подробная информация о процессах

Область с информацией о системе

В самом верху показана нагрузка на каждое ядро центрального процессора (цифры от 1 до 12).

Mem — это общее количество оперативной памяти и используемая память.

Task — обобщённая статистика по процессам

Swp — уровень занятости файла подкачки (если он есть)

Load avarage — средняя загрузка центрального процессора

Uptime — время работы операционной системы с момента последней загрузки

Теперь перейдём к области с информацией о запущенных процессах.

Значение столбцов htop

Программа htop выводит следующие столбцы:

PID

Идентификатор процесса.

USER

Имя пользователя владельца процесса или ID если имя не может быть определено.

PRI

Приоритет — внутренний приоритет ядра для процесса, обычно это просто значение nice плюс двадцать. Отличается для процессов имеющих приоритет выполнения real-time.

NI

NICE значение процесса от 19 (низкий приоритет) до -20 (высокий приоритет). Более высокое значение означает, что процесс «приятный» для других и позволяет им иметь более высокий приоритет выполнения.

VIRT

Размер виртуальной памяти процесса (M_SIZE).

RES

Размер резидентного набора (text + data + stack) процесса (т.е. размер используемой физической памяти процесса, M_RESIDENT).

SHR

Размер общих страниц процесса ( M_SHARE).

S

STATE, состояние процесса, может быть:

S для спящих (в простое)

R для запущенных

D для сна диска (бесперебойный)

Z для зомби (ожидает родитель считает его статус выхода)

T для отслеживания или приостановки (т. е. от SIGTSTP)

W для подкачки

CPU%

Процент процессорного времени, которое процесс использует в данный момент.

MEM%

Процент памяти, используемой процессом в данный момент (в зависимости от размера резидентной памяти процесса, см. M_RESIDENT выше).

TIME+

Время, измеренное в часах, указывает на то, сколько процесс провёл в пользовательском и системном времени.

Command

Полная командная строка процесса (то есть имя программы и аргументы).

Как ускорить или замедлить частоту обновления htop

Для установки времени обновления htop используйте опцию -d после которой укажите время обновления в десятой части секунд. Например, чтобы программа обновляла окно каждую 1/10 секунды:

sudo htop -d 1

Чтобы программа выводила новые данные раз в 5 секунд:

sudo htop -d 50

Как вывести процессы в виде дерева

Для вывода процессов в виде дерева используйте опцию -t:

sudo htop -t

Либо во время работы программы нажмите клавишу F5:

Как перемещаться по списку процессов в htop

Вы можете использовать курсорные клавиши для прокрутки списка процессов.

Также работают клавиши PgUp, PgDn для прокрутки окна.

Кнопка Home перенесёт к началу списка.

Кнопка End прокрутит список до конца.

Ctrl-a или ^ - прокрутка к началу пункта (началу строки).

Ctrl-e или $ - прокрутка к концу пункта записи о процессе (то есть концу строки).

Как в htop отсортировать по потреблению памяти. Как выбрать поле для сортировки

Нажмите клавишу F6 для выбора поля, которое вы хотите использовать для сортировки.

Для переключения к обратному порядку сортировки используйте кнопку I (Shift+i). При повторном нажатии список вновь будет отсортирован в обратном порядке.

Как свернуть ветки дерева процессов в htop

В режиме дерева процессов выберите ветку дерева, которую вы хотите свернуть и нажмите F6.

Поиск и фильтрация процессов в htop

Поиск отличается от фильтрации тем, что найденные процессы показываются наравне с остальными, и между найденными процессами можно переключаться кнопкой F3.

При фильтрации на экран будут выводиться только процессы, соответствующие введённой строке.

Для перехода к поиску по процессам нажмите F3 или /. Для переключения между найденными процессами нажимайте F3.

Для фильтрации процессов нажмите F4 или \ начните вводить имя процесса.

Для очистки фильтра вновь нажмите F4 и затем Esc.

Как изменить приоритет процесса в htop

Для увеличения приоритета процесса (вычитание из величины nice) нажмите кнопку F7 или ]. Помните, что эту операцию может делать только суперпользователь (вы должны быть root'ом или запустить htop с sudo).

Для уменьшения приоритета процесса (прибавления к величине nice) нажмите кнопку F8 или [.

Как выбрать один или несколько процессов в htop

Для выбора процессов используйте Пробел. После этого введённые команды, такие как kill или изменение приоритета, могут применяться к группе выделенных процессов вместо подсвеченного в данный момент.

Для снятия выделения со всех процессов нажмите U (Shift+u).

Как закрыть процесс в htop

Для закрытия процесса выберите один или несколько процессов и нажмите F9 или k. Выбранному процессу будет отправлен сигнал завершения. Если не отмечен ни один процесс, то будет закрыть тот, на котором находиться в данный момент курсор.

Как показать файлы, которые использует процесс

Если вы хотите увидеть файлы, открытые процессом, то выделите интересующий вас процесс и нажмите кнопку l (маленькая латинская L).

Чтобы эта функция работала, в системе должны быть установлена утилита lsof.

Как изменить внешний вид htop

Для изменения внешнего вида — панели с информацией о системе, выводимых столбцах и прочем, нажмите кнопку F2 или S (Shift+s).

Там вы увидите следующие вкладки:

  • Meters (выводимая вверху окна информация о ЦПУ, памяти и прочем)
  • Display options (опции отображения)
  • Colors (цвета)
  • Columns (изменение порядка колонок, добавление и удаление колонок)

Как указать поле для сортировки при запуске htop

С помощью опции -s можно указать столбец, по которому будут отсортированы процессы.

Например, для сортировки процессов по столбцу PERCENT_MEM (процент используемой памяти):

sudo htop -s PERCENT_MEM

Чтобы увидеть все доступные столбцы для сортировки выполните команду:

htop --sort-key help

Как показать только процессы определённого пользователя

Используйте опцию -u в команде вида:

sudo htop -u ПОЛЬЗОВАТЕЛЬ

Например, для вывода процессов только пользователя mial:

sudo htop -u mial

Как показать только процесс с определённым номером

Для слежения только за некоторыми процессами используйте опцию -p PID,PID…. Через запятую вы можете перечислить один или более идентификаторов процессов. Только эти процессы будут показаны в окне htop.

Трассировка системных вызовов

Вы можете проследить, какие системные вызовы сделал процесс. Для этого выберите интересующий вас процесс и нажмите кнопку s.

Для работы этой функции у вас должна быть установлена утилита strace.

Как закрыть htop

Для выхода из программы нажмите F10 или q или Ctrl+c.

Если возможностей htop вам недостаточно, то обратитесь к статье «Как пользоваться командой top для наблюдения за процессами в Linux».

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *