- Инструкция по использованию команды htop для интерактивного просмотра процессов в Linux
- Как установить htop
- Как просмотреть все процессы в Linux
- Область с информацией о системе
- Значение столбцов htop
- Как ускорить или замедлить частоту обновления htop
- Как вывести процессы в виде дерева
- Как перемещаться по списку процессов в htop
- Как в htop отсортировать по потреблению памяти. Как выбрать поле для сортировки
- Как свернуть ветки дерева процессов в htop
- Поиск и фильтрация процессов в htop
- Как изменить приоритет процесса в htop
- Как выбрать один или несколько процессов в htop
- Как закрыть процесс в htop
- Как показать файлы, которые использует процесс
- Как изменить внешний вид htop
- Как указать поле для сортировки при запуске htop
- Как показать только процессы определённого пользователя
- Как показать только процесс с определённым номером
- Трассировка системных вызовов
- Как закрыть htop
- Связанные статьи:
- Sysadminium
- Утилита htop
- Общая информация о системе
- Информация по каждому процессу
- Опции и горячие клавиши в htop
- Итог
Инструкция по использованию команды htop для интерактивного просмотра процессов в Linux
Команда htop похожа на команду top по выполняемой функции: они обе показывают информацию о процессах в реальном времени, выводят данные о потреблении системных ресурсов и позволяют искать, останавливать и управлять процессами.
У обеих команд есть свои преимущества. Например, в программе htop реализован очень удобный поиск по процессам, а также их фильтрация. В команде top это не так удобно — нужно знать кнопку для вывода функции поиска.
Зато в top можно разделять область окна и выводить информацию о процессах в соответствии с разными настройками. В целом top намного более гибкая в настройке отображения процессов.
В общем, чтобы решить, какая из команд лучше именно для вас, попробуйте их обе. В данной статье будет подробно рассказано о htop, чтобы познакомиться с top обратитесь к статье «Как пользоваться командой top для наблюдения за процессами в Linux».
Как установить htop
Установите пакет с именем htop используя менеджер пакетов для вашего дистрибутива.
В Debian, Linux Mint, Ubuntu, Kali Linux и их производных выполните:
В Arch Linux, Manjaro, BlackArch и их производных выполните:
Как просмотреть все процессы в Linux
Команду htop можно запускать как с правами обычного пользователя:
Так и с привилегиями суперпользователя, для этого используйте sudo:
Права суперпользвоателя нужны только для некоторых действий: для изменения приоритета (nice) процессов, для закрытия процессов других пользователей.
Как и в случае с программой top, окно разделено на два основных раздела:
Область с информацией о системе
В самом верху показана нагрузка на каждое ядро центрального процессора (цифры от 1 до 12).
Mem — это общее количество оперативной памяти и используемая память.
Task — обобщённая статистика по процессам
Swp — уровень занятости файла подкачки (если он есть)
Load average — средняя загрузка центрального процессора
Uptime — время работы операционной системы с момента последней загрузки
Теперь перейдём к области с информацией о запущенных процессах.
Значение столбцов htop
Программа htop выводит следующие столбцы:
Имя пользователя владельца процесса или ID если имя не может быть определено.
Приоритет — внутренний приоритет ядра для процесса, обычно это просто значение nice плюс двадцать. Отличается для процессов имеющих приоритет выполнения real-time.
NICE значение процесса от 19 (низкий приоритет) до -20 (высокий приоритет). Более высокое значение означает, что процесс «приятный» для других и позволяет им иметь более высокий приоритет выполнения.
Размер виртуальной памяти процесса (M_SIZE).
Размер резидентного набора (text + data + stack) процесса (т.е. размер используемой физической памяти процесса, M_RESIDENT).
Размер общих страниц процесса (M_SHARE).
STATE, состояние процесса, может быть:
S для спящих (в простое)
R для запущенных
D для сна диска (бесперебойный)
Z для зомби (ожидает родитель считает его статус выхода)
T для отслеживания или приостановки (т. е. от SIGTSTP)
W для подкачки
Процент процессорного времени, которое процесс использует в данный момент.
Процент памяти, используемой процессом в данный момент (в зависимости от размера резидентной памяти процесса, см. M_RESIDENT выше).
Время, измеренное в часах, указывает на то, сколько процесс провёл в пользовательском и системном времени.
Полная командная строка процесса (то есть имя программы и аргументы).
Как ускорить или замедлить частоту обновления htop
Для установки времени обновления htop используйте опцию -d после которой укажите время обновления в десятой части секунд. Например, чтобы программа обновляла окно каждую 1/10 секунды:
Чтобы программа выводила новые данные раз в 5 секунд:
Как вывести процессы в виде дерева
Для вывода процессов в виде дерева используйте опцию -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 (процент используемой памяти):
Чтобы увидеть все доступные столбцы для сортировки выполните команду:
Как показать только процессы определённого пользователя
Используйте опцию -u в команде вида:
Например, для вывода процессов только пользователя mial:
Как показать только процесс с определённым номером
Для слежения только за некоторыми процессами используйте опцию -p PID,PID…. Через запятую вы можете перечислить один или более идентификаторов процессов. Только эти процессы будут показаны в окне htop.
Трассировка системных вызовов
Вы можете проследить, какие системные вызовы сделал процесс. Для этого выберите интересующий вас процесс и нажмите кнопку s.
Для работы этой функции у вас должна быть установлена утилита strace.
Как закрыть htop
Для выхода из программы нажмите F10 или q или Ctrl+c.
Если возможностей htop вам недостаточно, то обратитесь к статье «Как пользоваться командой top для наблюдения за процессами в Linux».
Связанные статьи:
Sysadminium
Утилита htop — это консольный и интерактивный диспетчер задач, который похож на уже рассмотренный нами top. Но htop имеет свои особенности.
Утилита htop
Утилита htop — это консольный диспетчер задач. Его работа очень похожа на работу top, которую мы рассмотрели в предыдущей статье.
Официальный мануал по этой утилите доступен здесь, или вы можете просто выполнить команду man htop на вашем linux сервере.
Если htop ещё не установлен, то установить его вы можете с помощью apt:
Работа этой утилиты выглядит следующим образом:
Лично я больше предпочитаю htop, так как лучше умею им пользоваться. Хотя некоторую информацию всё же смотрю с помощью top. Например, процент времени, в течение которого процессор простаивал, ожидая завершения операции ввода-вывода (wa).
Общая информация о системе
Вверху слева видим общее потребление CPU (по каждому ядру), Mem и Swap.
Вверху справа видим общее количество процессов, оно меньше чем показывает top, так как здесь не учитываются процессы ядра, чтобы отобразить количество процессов ядра нужно нажать shift+k:
Если сложить процессы и процессы ядра показанные htop (32+70), то получим общее количество процессов (102). Это количество как раз и показывает утилита top.
Там же, справа вверху видно среднюю загрузку системы (Load average) и время работы компьютера с последней загрузки (Uptime).
Информация по каждому процессу
Ниже перечислены процессы и информация по ним:
Описывать поля я не буду, я их уже описывал для утилиты top.
Опции и горячие клавиши в htop
Показать процессы определенного пользователя можно с помощью ключа -u:
Дальше я покажу горячие клавиши, с помощью которых можно управлять утилитой htop.
Для того чтобы выводить процессы в виде дерева нажмите t:
Чтобы выбрать колонку для сортировки, нажмите F6, а чтобы обратить сортировку Shift+i:
Чтобы остановить процесс (послать ему сигнал), вначале выделите процесс (1), а затем нажмите k и выберите отправляемый сигнал (2). Например сигнал sigterm — попытается корректно завершить процесс, а sigkill — моментально убьёт его. И нажмите Enter (3) чтобы отправить сигнал процессу:
Чтобы выбрать пользователя, процессы которого отображать нажмите u. Затем нужно будет выбрать пользователя:
Также можно показать или убрать полный путь к исполняемым файлам. Для этого нажмите p:
Чтобы отобразить потоки ядра, нажмите Shift+k:
Можно включить или выключить отображение потоков. Для этого нажмите Shift+h. В примере ниже я дополнительно включил вывод в виде дерева, для более удобного восприятия:
Показать библиотеки, сетевые порты, сокеты к которым обращается процесс можно выделив его и нажав кнопку l:
Нажав на F2 можно настроить утилиту htop. Например добавить новые колонки или добавить отображение какой-то информации в верхней части экрана, или изменить цветовую гамму приложения:
При этом htop умеет отображать некоторые поля, которые недоступны в top, например активность диска (IO_RATE):
Итог
Нами была разобрана утилита htop. Вы узнали опции htop:
А также узнали горячие клавиши, с помощью которых можно взаимодействовать с htop:
- t — выводить процессы в виде дерева или отключить такое отображение;
- F6 — выбрать поле для сортировки;
- shift+i — обратить сортировку;
- k — послать сигнал процессу;
- u — выбрать пользователя чьи процессы отображать;
- p — отобразить или скрыть полный путь к исполняемым файлам;
- shift+k — отобразить или скрыть потоки ядра;
- shift+h — отобразить или скрыть пользовательские потоки;
- l — показать ресурсы к которым обращается процесс;
- F2 — настроить htop.