Руководства по командной строке

Man » Онлайн-руководство по htop — подробная онлайн-документация для страницы руководства htop

🌍
htop, pcp-htop — интерактивный просмотрщик процессов

СИНТАКСИС

htop [-dCFhpustvH]
pcp-htop [-dCFhpustvH] [--host/-h host]

ОПИСАНИЕ

htop — это кроссплатформенный просмотрщик процессов на основе ncurses.

Он похож на top, но позволяет прокручивать процессы вертикально и горизонтально, а также взаимодействовать с помощью устройства указания (мыши). Вы можете просматривать все процессы, работающие в системе, вместе с их аргументами командной строки, а также просматривать их в виде дерева, выбирать несколько процессов и выполнять над ними действия одновременно.

Задачи, связанные с процессами (завершение, изменение приоритета), можно выполнять без указания их PID.

pcp-htop — это версия htop, созданная с использованием Performance Co-Pilot (PCP) Metrics API (см. PCPIntro(1), PMAPI(3)), что позволяет расширить htop для отображения значений из произвольных метрик. См. раздел ниже с названием CONFIG FILES для получения дополнительной информации.

ПАРАМЕТРЫ КОМАНДНОЙ СТРОКИ

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

-d --delay=DELAY

Задержка между обновлениями в десятых долях секунды. Если значение задержки меньше 1, оно увеличивается до 1, то есть до 1/10 секунды. Если значение задержки больше 100, оно уменьшается до 100, то есть до 10 секунд.

-C --no-color --no-colour

Запустить htop в монохромном режиме.

-F --filter=FILTER

Фильтровать процессы по условиям, соответствующим командам. Условия сопоставляются без учета регистра и в виде фиксированных строк (не регулярных выражений). Вы можете разделить несколько условий символом "|".

-h --help

Отобразить сообщение справки и выйти.

-p --pid=PID,PID...

Показывать только указанные PID.

-s --sort-key COLUMN

Сортировать по этому столбцу (используйте --sort-key help для списка столбцов). Это приведет к отображению в виде списка, если только вы не укажете -t одновременно. Сортировка в режиме дерева применяется к непосредственным дочерним элементам каждого процесса.

-u --user[=USERNAME|UID]

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

-U --no-unicode

Не использовать символы Unicode, а использовать символы ASCII для графических шкал.

-M --no-mouse

Отключить поддержку управления мышью.

--readonly

Отключить все функции изменения системы и процессов.

-V --version

Вывести информацию о версии и выйти.

-t --tree

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

-H --highlight-changes=DELAY

Выделять новые и старые процессы.

--drop-capabilities[=off|basic|strict]

Только для Linux; эта опция должна быть включена во время компиляции и требует поддержки libcap во время выполнения. Отключить ненужные возможности Linux. В строгом режиме такие функции, как завершение, изменение приоритета процесса и чтение информации о задержке процесса, не будут работать из-за меньшего количества удерживаемых возможностей.


ИНТЕРАКТИВНЫЕ КОМАНДЫ

Следующие команды поддерживаются при работе с htop:

Tab, Shift-Tab

Выбрать следующую/предыдущую вкладку экрана для отображения. Вы можете включить отображение названий вкладок экрана в меню «Настройка» (F2).

Up, Alt-k

Выделить (подсветить) предыдущий процесс в списке процессов. При необходимости прокрутить список.

Down, Alt-j

Выделить (подсветить) следующий процесс в списке процессов. При необходимости прокрутить список.

Left, Alt-h

Прокрутить список процессов влево.

Right, Alt-l

Прокрутить список процессов вправо.

PgUp, PgDn

Прокрутить список процессов вверх или вниз на одно окно.

Home

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

End

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

Ctrl-A, ^

Прокрутить влево к началу записи процесса (т. е. к началу строки).

Ctrl-E, $

Прокрутить вправо к концу записи процесса (т. е. к концу строки).

Space

Пометить или снять отметку с процесса. Команды, которые могут работать с несколькими процессами, такие как «kill», будут применяться к списку помеченных процессов, а не к текущему выделенному.

c

Пометить текущий процесс и его дочерние процессы. Команды, которые могут работать с несколькими процессами, такие как «kill», будут применяться к списку помеченных процессов, а не к текущему выделенному.

U

Снять отметки со всех процессов (удалить все отметки, добавленные клавишами Space или c).

s

Отследить системные вызовы процесса: если установлена утилита strace(1), нажатие этой клавиши прикрепит ее к текущему выбранному процессу, отображая в режиме реального времени системные вызовы, выдаваемые процессом.

l

Отобразить открытые файлы для процесса: если установлена утилита lsof(1), нажатие этой клавиши отобразит список дескрипторов файлов, открытых процессом.

w

Отобразить командную строку выбранного процесса в отдельном экране, разделенную на несколько строк, если необходимо.

x

Отобразить активные блокировки файлов выбранного процесса в отдельном экране.

F1, h, ?

Перейти на экран справки.

F2, S

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

F3, /

Выполнить инкрементный поиск по командным строкам всех отображаемых процессов. Текущий выбранный (подсвеченный) процесс будет обновляться по мере ввода. В режиме поиска нажатие F3 будет переключаться между найденными совпадениями. Нажатие Shift-F3 будет выполнять переключение в обратном порядке.

Кроме того, поиск можно начать, просто введя искомую команду, хотя для первого символа приоритет имеют обычные привязки клавиш.

F4, \

Выполнить инкрементную фильтрацию процессов: введите часть командной строки процесса, и будут отображаться только процессы, чьи имена соответствуют. Чтобы отменить фильтрацию, снова войдите в параметр «Фильтр» и нажмите Esc. Соответствие выполняется без учета регистра. Термины являются фиксированными строками (без использования регулярных выражений). Вы можете разделять несколько терминов символом "|".


F5, t

Режим «Дерево»: отображает процессы в виде дерева, организуя их по принципу родительства и показывая связи между ними. Переключение клавиши переключает между режимом «Дерево» и ранее выбранным режимом сортировки. Выбор режима сортировки выходит из режима «Дерево».

F6, <, >

Выбор поля для сортировки, также доступен с помощью клавиш < и >. Текущее поле сортировки выделяется в заголовке.

F7, ]

Увеличение приоритета выбранного процесса (уменьшение значения «nice»). Это возможно только для пользователя с правами суперпользователя.

F8, [

Уменьшение приоритета выбранного процесса (увеличение значения «nice»).

Shift-F7, }

Увеличение приоритета автогруппы выбранного процесса (уменьшение значения «nice» для автогруппы). Это возможно только для пользователя с правами суперпользователя.

Shift-F8, {

Уменьшение приоритета автогруппы выбранного процесса (увеличение значения «nice» для автогруппы).

F9, k

«Убийство» процесса: отправляет сигнал, выбранный в меню, одному или группе процессов. Если процессы помечены, сигнал отправляется всем помеченным процессам. Если ни один процесс не помечен, сигнал отправляется текущему выбранному процессу.

F10, q

Выход

I

Инвертировать порядок сортировки: если порядок сортировки возрастающий, переключить на убывающий, и наоборот.

+, -, *

В режиме «Дерево» — развернуть или свернуть поддерево. Когда поддерево свернуто, слева от имени процесса отображается знак «+». Нажатие «*» разворачивает или сворачивает все дочерние элементы процессов без родительских элементов, обычно PID 1 (init) и PID 2 (kthreadd в Linux, если потоки ядра отображаются).

a (на многопроцессорных машинах)

Задать аффинность процессора: указать, какие процессоры разрешено использовать процессу.

u

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

N

Сортировать по PID.

M

Сортировать по использованию памяти (как в top).

P

Сортировать по использованию процессора (как в top).

T

Сортировать по времени (как в top).

F

«Следить» за процессом: если порядок сортировки приводит к перемещению текущего выбранного процесса в списке, перемещать выделение вместе с ним. Это полезно для мониторинга процесса: таким образом можно всегда видеть процесс на экране. При использовании клавиш перемещения «слежение» перестает действовать.

K

Скрыть потоки ядра: предотвратить отображение потоков, принадлежащих ядру, в списке процессов. (Это переключатель.)

H

Скрыть пользовательские потоки: в системах, которые представляют их иначе, чем обычные процессы (например, в современных системах на базе NPTL), это может скрыть потоки пользовательских процессов в списке процессов. (Это переключатель.)

O

Скрыть контейнеризированные процессы: предотвратить отображение процессов, работающих в контейнере, в списке процессов. (Это переключатель.)

p

Показывать полные пути к запускаемым программам, если это возможно. (Это переключатель.)

Z

Приостановить/возобновить обновление процесса.

m

Объединить exe, comm и cmdline, если это возможно. (Это переключатель.)

Ctrl-L

Обновить: перерисовать экран и пересчитать значения.

Числа

Поиск по PID: введите идентификатор процесса, и выделение переместится на него.


СТОЛБЦЫ

Следующие столбцы могут отображать данные о каждом процессе. Значение «-» во всех строках указывает на то, что столбец не поддерживается в вашей системе или в настоящее время не реализован в htop. Названия, указанные ниже, используются в разделе «Доступные столбцы» экрана настройки. Если на главном экране htop отображается другое имя, оно указано ниже в скобках.

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

Если включена опция «Объединить exe, comm и cmdline в Command» (переключается клавишей «m»), исполняемый файл (/proc/[pid]/exe) и имя команды (/proc/[pid]/comm) также отображаются в объединенной командной строке, если это возможно.

Имя файла программы выделяется, если это указано в конфигурации. Дополнительное выделение можно настроить для устаревших исполняемых файлов (см. столбец EXE ниже).

Столбец Command должен быть последним столбцом на каждом экране, так как он может быть очень длинным и выигрывает от возможности динамического расширения его длины.

COMM Имя команды процесса, полученное из /proc/[pid]/comm, если доступно для чтения.

Требуется ядро Linux версии 2.6.33 или новее.

EXE Сокращенное имя исполняемого файла процесса, полученное из /proc/[pid]/exe, если доступно для чтения. htop может читать этот файл в Linux для ВСЕХ процессов только в том случае, если у него есть возможность CAP_SYS_PTRACE или права root.

Имя файла выделяется красным цветом, если исполняемый файл, используемый для запуска процесса, был заменен или удален с диска после запуска процесса. Информация получается путем обработки содержимого /proc/[pid]/exe.

Кроме того, имя файла выделяется желтым цветом, если сообщается, что какая-либо библиотека была заменена или удалена с диска после последнего ее загружения. Информация получается путем обработки содержимого /proc/[pid]/maps.

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

Эта дополнительная цветовая разметка может быть настроена в разделе «Параметры отображения» экрана настройки.

Отображение EXE требует CAP_SYS_PTRACE и PTRACE_MODE_READ_FSCRED.

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

STATE (S)
Состояние процесса:
S — спящий
I — простаивающий (более длительное время простоя, чем в спящем режиме, на платформах, которые различают это)
R — выполняется
D — спит на диске (непрерывно)
Z — зомби (ожидает, пока родительский процесс прочитает его статус выхода)
T — отслеживается или приостановлен (например, с помощью SIGTSTP)
W — происходит подкачка

PPID Идентификатор родительского процесса.

PGRP Идентификатор группы процессов.

SESSION (SID)

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

TTY Управляющий терминал процесса.

TPGID

Идентификатор процесса, являющегося процессом переднего плана управляющего терминала.

MINFLT

Количество ошибок страниц, происходящих в основной памяти.

CMINFLT

Количество незначительных ошибок для дочерних процессов, ожидаемых процессом (см. MINFLT выше).


MAJFLT

Количество страничных сбоев, происходящих за пределами основной памяти.

CMAJFLT

Количество основных сбоев для ожидаемых дочерних процессов (см. MAJFLT выше).

UTIME (UTIME+)

Время работы процессора в пользовательском режиме, то есть количество времени, в течение которого процесс выполнялся в режиме пользователя (то есть все, кроме системных вызовов), измеряется в тактах.

STIME (STIME+)

Системное время работы процессора, то есть количество времени, которое ядро потратило на выполнение системных вызовов от имени процесса, измеряется в тактах.

CUTIME (CUTIME+)

Время работы процессора в пользовательском режиме для дочерних процессов, то есть количество времени, в течение которого ожидаемые дочерние процессы выполнялись в пользовательском режиме (см. UTIME выше).

CSTIME (CSTIME+)

Системное время работы процессора для дочерних процессов, то есть количество времени, которое ядро потратило на выполнение системных вызовов от имени всех ожидаемых дочерних процессов (см. STIME выше).

PRIORITY (PRI)

Внутренний приоритет процесса, используемый ядром, обычно это значение nice плюс двадцать. Отличается для процессов реального времени.

NICE (NI)

Значение nice процесса, от 19 (низкий приоритет) до -20 (высокий приоритет). Высокое значение означает, что процесс «вежлив» и позволяет другим процессам иметь более высокий относительный приоритет. Применяются обычные ограничения ОС для изменения приоритета.

STARTTIME (START)

Время запуска процесса.

PROCESSOR (CPU)

Идентификатор процессора, на котором процесс выполнялся последний раз.

M_VIRT (VIRT)

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

M_RESIDENT (RES)

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

M_SHARE (SHR)

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

M_TRS (CODE)

Размер резидентного набора текста процесса (то есть размер исполняемых инструкций процесса).

M_DRS (DATA)

Размер резидентного набора данных (данные + стек) процесса (то есть размер всего, кроме исполняемых инструкций процесса).

M_LRS (LIB)

Размер библиотеки процесса.

M_SWAP (SWAP)

Размер страниц процесса, выгруженных в файл подкачки.

M_PSS (PSS)

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

M_M_PSSWP (PSSWP)

Пропорциональная доля файла подкачки для этого отображения, в отличие от M_SWAP, здесь не учитываются выгруженные страницы базовых объектов общей памяти.

ST_UID (UID)

Идентификатор пользователя, которому принадлежит процесс.

PERCENT_CPU (CPU%)

Процент от времени процессора, которое в настоящее время использует процесс. Это стандартный способ представления использования процессора в Linux. Каждый процесс может потреблять до 100%, что означает полную мощность ядра, на котором он работает. Это иногда называют режимом Irix, например, в top(1).

PERCENT_NORM_CPU (NCPU%)

Процент от времени процессора, которое в настоящее время использует процесс, нормализованный по количеству процессоров. Это иногда называют режимом Solaris, например, в top(1).

PERCENT_MEM (MEM%)

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


USER Имя пользователя, от имени которого выполняется процесс, или идентификатор пользователя, если имя определить невозможно.

На Linux имя пользователя выделяется, если у процесса есть повышенные привилегии, т. е. если он был запущен из исполняемых файлов с установленными или сохраненными возможностями Linux через окружающий набор после переключения от пользователя root.

TIME (TIME+)
Время, измеренное в тактах, которое процесс провел в пользовательском и системном режимах (см. UTIME, STIME выше).

NLWP Количество легковесных процессов (потоков) в процессе.

TGID Идентификатор группы потоков.

CTID Идентификатор контейнера OpenVZ, также известный как идентификатор виртуальной среды.

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

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

RCHAR (RD_CHAR)
Количество байтов, прочитанных процессом.

WCHAR (WR_CHAR)
Количество байтов, записанных процессом.

SYSCR (RD_SYSC)
Количество системных вызовов `read(2)` для процесса.

SYSCW (WR_SYSC)
Количество системных вызовов `write(2)` для процесса.

RBYTES (IO_RBYTES)
Количество байтов, прочитанных при операциях ввода-вывода `read(2)` для процесса.

WBYTES (IO_WBYTES)
Количество байтов, записанных при операциях ввода-вывода `write(2)` для процесса.

CNCLWB (IO_CANCEL)
Количество байтов отмененных операций ввода-вывода `write(2)`.

IO_READ_RATE (DISK READ)
Скорость операций ввода-вывода `read(2)` в байтах в секунду для процесса.

IO_WRITE_RATE (DISK WRITE)
Скорость операций ввода-вывода `write(2)` в байтах в секунду для процесса.

IO_RATE (DISK R/W)
Скорость операций ввода-вывода, IO_READ_RATE + IO_WRITE_RATE (см. выше).

CGROUP
Группа cgroup, в которой находится процесс. Для сокращенного представления см. столбец CCGROUP ниже.

CCGROUP
Сокращенное представление имени группы cgroup, в которой находится процесс. Это выполняет некоторые замены на основе шаблонов для сокращения отображаемой строки и, таким образом, для сжатия информации.
/*.slice сокращается до /[S] (с некоторыми исключениями)
/system.slice сокращается до /[S]
/user.slice сокращается до /[U]
/user-*.slice сокращается до /[U:*] (непосредственно перед /[U] перед удалением)
/machine.slice сокращается до /[M]
/machine-*.scope сокращается до /[SNC:*] (SNC: контейнер systemd nspawn), заглавные буквы для монитора
/lxc.monitor.* сокращается до /[LXC:*]
/lxc.payload.* сокращается до /[lxc:*]
/*.scope сокращается до /!*
/*.service сокращается до /* (суффикс удаляется)

Специальные символы (например, из systemd) внутри имени cgroup не расшифровываются.

OOM Оценка OOM killer.

CTXT Инкрементная сумма добровольных и недобровольных переключений контекста.

IO_PRIORITY (IO)
Класс планирования ввода-вывода с последующей приоритетом, если класс его поддерживает:
R для Realtime
B для Best-effort
id для Idle

PERCENT_CPU_DELAY (CPUD%)
Процент времени, затраченного на ожидание CPU (в состоянии готовности к выполнению). Требуется CAP_NET_ADMIN.

PERCENT_IO_DELAY (IOD%)
Процент времени, затраченного на ожидание завершения синхронных операций ввода-вывода в блочном устройстве. Требуется CAP_NET_ADMIN.

PERCENT_SWAP_DELAY (SWAPD%)
Процент времени, затраченного на подкачку страниц. Требуется CAP_NET_ADMIN.

AGRP Идентификатор автоматической группы для процесса. Требуется, чтобы в Linux была включена CFS.

ANI Значение «хорошести» автоматической группы для процесса автогруппы. Требуется, чтобы Linux CFS был включен.

Все остальные флаги В настоящее время не поддерживаются (всегда отображаются как «-»).

ВНЕШНИЕ БИБЛИОТЕКИ

Хотя htop зависит от большинства библиотек, используемых во время сборки, есть два примечательных исключения из этого правила. Эти исключения связаны с данными, отображаемыми в измерителях в заголовке htop, и были намеренно созданы как необязательные зависимости во время выполнения. Эти исключения описаны ниже:

libsystemd

Связи с libsystemd используются в измерителе SystemD для определения количества активных служб и общего состояния системы. Поиск функций для определения этой информации во время выполнения позволяет создавать сборки, поддерживающие эти измерители, без необходимости принудительной установки этих библиотек менеджером пакетов на системах, которые в противном случае не используют systemd.

Краткое описание: отсутствие зависимости во время сборки, необязательная зависимость во время выполнения от libsystemd посредством динамической загрузки, с резервным решением [systemctl]({filename}../../systemctl)(1).

libsensors

Связи с libsensors используются для показа температуры ЦП в измерителях использования ЦП, если отображение температуры включено через экран настройки. Однако для правильного отображения этих температур htop предполагает, что libsensors правильно настроен через обычные файлы конфигурации и что все ядра ЦП соответствуют датчикам температуры драйвера coretemp, причем ядро 0 соответствует датчику с меткой «Core 0». Температура пакета может быть указана как «Package id 0». Если это отсутствует, она определяется как максимальное значение из доступных показаний для каждого ядра.

Краткое описание: зависимость во время сборки от заголовочных файлов libsensors(3), необязательная зависимость во время выполнения от libsensors(3) посредством динамической загрузки.

ФАЙЛЫ КОНФИГУРАЦИИ

По умолчанию htop считывает свою конфигурацию из пути, соответствующего стандарту XDG, ~/.config/htop/htoprc. Файл конфигурации перезаписывается при чистом выходе из htop встроенной программой настройки, поэтому его не следует редактировать вручную. Если пользовательская конфигурация отсутствует, htop пытается прочитать общесистемную конфигурацию из /etc/htoprc, и, в крайнем случае, переходит к своим жестко закодированным настройкам по умолчанию.

Вы можете переопределить местоположение файла конфигурации, используя переменную среды $HTOPRC (например, для хранения нескольких конфигураций для разных машин, которые используют одну и ту же домашнюю директорию).

Утилита pcp-htop использует htoprc аналогичным образом. Однако pcp-htop считывает свою конфигурацию из пути, который обычно используется инструментами Performance Co-Pilot, ~/.pcp/htop/htoprc, чтобы обеспечить раздельные конфигурации при установке и использовании как htop, так и pcp-htop. pcp-htop поддерживает дополнительные файлы конфигурации в той же директории, позволяя добавлять новые измерители, столбцы и вкладки экрана через экран настройки (F2). Это отображает дополнительные доступные измерители, доступные столбцы и вкладки экрана для каждой конфигурации измерителя, столбца или экрана.


Эти файлы конфигурации pcp-htop считываются один раз при запуске. Формат этих файлов подробно описан в справочной странице pcp-htop(5).

Эта функциональность делает доступными для отображения в pcp-htop тысячи метрик Performance Co-Pilot, а также позволяет отображать пользовательские метрики, добавленные в отдельных узлах. Приложения и службы, для которых используется формат OpenMetrics https://openmetrics.io, также могут отображаться в pcp-htop, если настроен компонент pmdaopenmetrics(1).

Конфигурация как для htop, так и для pcp-htop сохраняется только при нормальном завершении работы. Отправка любого сигнала приведет к потере всех изменений конфигурации.

РАЗМЕРЫ ПАМЯТИ

Размеры памяти в htop отображаются в удобочитаемом формате. Размеры выводятся в степенях 1024 с использованием двоичных единиц IEC. Если суффикс не указан, единицы подразумеваются как К, то есть KiB (кибибайт, 1 KiB = 1024 байта).

Решение об использовании этой конвенции было принято для экономии места на экране и обеспечения согласованности представления размеров памяти во всем htop, поскольку выделения происходят с шагом в целые страницы памяти (4 KiB для большинства платформ).

СМОТРИТЕ ТАКЖЕ

proc(5), top(1), free(1), ps(1), uptime(1) и limits.conf(5).

СМОТРИТЕ ТАКЖЕ ДЛЯ PCP

pmdaopenmetrics(1), PCPIntro(1), PMAPI(3) и pcp-htop(5).

АВТОРЫ

htop был первоначально разработан Хишамом Мухаммедом. В настоящее время его поддерживает сообщество на <_>.

pcp-htop поддерживается в рамках сотрудничества между сообществами <_> и <_> и является частью пакета инструментов Performance Co-Pilot.

АВТОРСКИЕ ПРАВА

Copyright © 2004-2019 Hisham Muhammad. Copyright © 2020-2025 htop dev team.

Лицензия GPLv2+: GNU General Public License version 2 или, по вашему выбору, любая более поздняя версия.

Это свободное программное обеспечение: вы можете изменять и распространять его. Гарантии не предоставляются в той мере, в какой это допускается законом.