Лучше 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, Manjaro, BlackArch и их производных выполните:
sudo pacman -Syu htop
Как просмотреть все процессы в Linux
Команду htop можно запускать как с правами обычного пользователя:
htop
Так и с привилегиями суперпользователя, для этого используйте sudo:
sudo htop
Права суперпользвоателя нужны только для некоторых действий: для изменения приоритета (nice) процессов, для закрытия процессов других пользователей.
Как и в случае с программой top, окно разделено на два основных раздела:
- обобщённая информация о системе
- подробная информация о процессах
Область с информацией о системе
В самом верху показана нагрузка на каждое ядро центрального процессора (цифры от 1 до 12).
Mem — это общее количество оперативной памяти и используемая память.
Task — обобщённая статистика по процессам
Swp — уровень занятости файла подкачки (если он есть)
Load average — средняя загрузка центрального процессора
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.
Смотрите также: Как пользоваться lsof для просмотра открытых файлов (в Linux всё является файлами)
Как изменить внешний вид 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».
Связанные статьи:
- Как пользоваться командой top для наблюдения за процессами в Linux (100%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- Установка и использование Docker в Linux (Debian, Ubuntu, Arch Linux) (50%)
- Программы для бенчмарка CPU в Linux (50%)
- Как в Linux подключить новый диск, разметить и отформатировать разделы (50%)
- Как пользоваться lsof для просмотра открытых файлов (в Linux всё является файлами) (RANDOM - 31.5%)