summaryrefslogtreecommitdiffstats
path: root/htop.1.in
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--htop.1.in695
1 files changed, 695 insertions, 0 deletions
diff --git a/htop.1.in b/htop.1.in
new file mode 100644
index 0000000..2376b7a
--- /dev/null
+++ b/htop.1.in
@@ -0,0 +1,695 @@
+.TH "HTOP" "1" "2024" "@PACKAGE_STRING@" "User Commands"
+.SH "NAME"
+htop, pcp-htop \- interactive process viewer
+.SH "SYNOPSIS"
+.B htop
+.RB [ \-dCFhpustvH ]
+.br
+.B pcp\ htop
+.RB [ \-dCFhpustvH ]
+.RB [ \-\-host/-h\ host ]
+.SH "DESCRIPTION"
+.B htop
+is a cross-platform ncurses-based process viewer.
+.LP
+It is similar to
+.BR top ,
+but allows you to scroll vertically and horizontally, and interact using
+a pointing device (mouse).
+You can observe all processes running on the system, along with their
+command line arguments, as well as view them in a tree format, select
+multiple processes and act on them all at once.
+.LP
+Tasks related to processes (killing, renicing) can be done without
+entering their PIDs.
+.LP
+.B pcp-htop
+is a version of
+.B htop
+built using the Performance Co-Pilot (PCP) Metrics API (see \c
+.BR PCPIntro (1),
+.BR PMAPI (3)),
+allowing to extend
+.B htop
+to display values from arbitrary metrics.
+See the section below titled
+.B "CONFIG FILES"
+for further details.
+.br
+.SH "COMMAND-LINE OPTIONS"
+Mandatory arguments to long options are mandatory for short options too.
+.TP
+\fB\-d \-\-delay=DELAY\fR
+Delay between updates, in tenths of a second. If the delay value is
+less than 1, it is increased to 1, i.e. 1/10 second. If the delay value
+is greater than 100, it is decreased to 100, i.e. 10 seconds.
+.TP
+\fB\-C \-\-no-color \-\-no-colour\fR
+Start
+.B htop
+in monochrome mode
+.TP
+\fB\-F \-\-filter=FILTER
+Filter processes by terms matching the commands. The terms are matched
+case-insensitive and as fixed strings (not regexs). You can separate multiple terms with "|".
+.TP
+\fB\-h \-\-help
+Display a help message and exit
+.TP
+\fB\-p \-\-pid=PID,PID...\fR
+Show only the given PIDs
+.TP
+\fB\-s \-\-sort\-key COLUMN\fR
+Sort by this column (use \-\-sort\-key help for a column list).
+This will force a list view unless you specify -t at the same time.
+.TP
+\fB\-u \-\-user=USERNAME|UID\fR
+Show only the processes of a given user
+.TP
+\fB\-U \-\-no-unicode\fR
+Do not use unicode but ASCII characters for graph meters
+.TP
+\fB\-M \-\-no-mouse\fR
+Disable support of mouse control
+.TP
+\fB\-\-readonly\fR
+Disable all system and process changing features
+.TP
+\fB\-V \-\-version
+Output version information and exit
+.TP
+\fB\-t \-\-tree
+Show processes in tree view. This can be used to force a tree view when
+requesting a sort order with -s.
+.TP
+\fB\-H \-\-highlight-changes=DELAY\fR
+Highlight new and old processes
+.TP
+\fB \-\-drop-capabilities[=off|basic|strict]\fR
+Linux only; requires libcap support.
+.br
+Drop unneeded Linux capabilities.
+In strict mode features like killing, changing process priorities, and reading
+process delay accounting information will not work, due to less capabilities
+held.
+.SH "INTERACTIVE COMMANDS"
+The following commands are supported while in
+.BR htop :
+.TP 5
+.B Tab, Shift-Tab
+Select the next / the previous screen tab to display.
+You can enable showing the screen tab names in the Setup screen (F2).
+.TP
+.B Up, Alt-k
+Select (highlight) the previous process in the process list. Scroll the list
+if necessary.
+.TP
+.B Down, Alt-j
+Select (highlight) the next process in the process list. Scroll the list if
+necessary.
+.TP
+.B Left, Alt-h
+Scroll the process list left.
+.TP
+.B Right, Alt-l
+Scroll the process list right.
+.TP
+.B PgUp, PgDn
+Scroll the process list up or down one window.
+.TP
+.B Home
+Scroll to the top of the process list and select the first process.
+.TP
+.B End
+Scroll to the bottom of the process list and select the last process.
+.TP
+.B Ctrl-A, ^
+Scroll left to the beginning of the process entry (i.e. beginning of line).
+.TP
+.B Ctrl-E, $
+Scroll right to the end of the process entry (i.e. end of line).
+.TP
+.B Space
+Tag or untag a process. Commands that can operate on multiple processes,
+like "kill", will then apply over the list of tagged processes, instead
+of the currently highlighted one.
+.TP
+.B c
+Tag the current process and its children. Commands that can operate on multiple
+processes, like "kill", will then apply over the list of tagged processes,
+instead of the currently highlighted one.
+.TP
+.B U
+Untag all processes (remove all tags added with the Space or c keys).
+.TP
+.B s
+Trace process system calls: if strace(1) is installed, pressing this key
+will attach it to the currently selected process, presenting a live
+update of system calls issued by the process.
+.TP
+.B l
+Display open files for a process: if lsof(1) is installed, pressing this key
+will display the list of file descriptors opened by the process.
+.TP
+.B w
+Display the command line of the selected process in a separate screen, wrapped
+onto multiple lines as needed.
+.TP
+.B x
+Display the active file locks of the selected process in a separate screen.
+.TP
+.B F1, h, ?
+Go to the help screen
+.TP
+.B F2, S
+Go to the setup screen, where you can configure the meters displayed at the top
+of the screen, set various display options, choose among color schemes, and
+select which columns are displayed, in which order.
+.TP
+.B F3, /
+Incrementally search the command lines of all the displayed processes. The
+currently selected (highlighted) command will update as you type. While in
+search mode, pressing F3 will cycle through matching occurrences.
+Pressing Shift-F3 will cycle backwards.
+
+Alternatively the search can be started by simply typing the command
+you are looking for, although for the first character normal key
+bindings take precedence.
+.TP
+.B F4, \\\\
+Incremental process filtering: type in part of a process command line and
+only processes whose names match will be shown. To cancel filtering,
+enter the Filter option again and press Esc.
+The matching is done case-insensitive. Terms are fixed strings (no regex).
+You can separate multiple terms with "|".
+.TP
+.B F5, t
+Tree view: organize processes by parenthood, and layout the relations
+between them as a tree. Toggling the key will switch between tree and
+your previously selected sort view. Selecting a sort view will exit
+tree view.
+.TP
+.B F6, <, >
+Selects a field for sorting, also accessible through < and >.
+The current sort field is indicated by a highlight in the header.
+.TP
+.B F7, ]
+Increase the selected process's priority (subtract from 'nice' value).
+This can only be done by the superuser.
+.TP
+.B F8, [
+Decrease the selected process's priority (add to 'nice' value)
+.TP
+.B Shift-F7, }
+Increase the selected process's autogroup priority (subtract from autogroup 'nice' value).
+This can only be done by the superuser.
+.TP
+.B Shift-F8, {
+Decrease the selected process's autogroup priority (add to autogroup 'nice' value)
+.TP
+.B F9, k
+"Kill" process: sends a signal which is selected in a menu, to one or a group
+of processes. If processes were tagged, sends the signal to all tagged processes.
+If none is tagged, sends to the currently selected process.
+.TP
+.B F10, q
+Quit
+.TP
+.B I
+Invert the sort order: if sort order is increasing, switch to decreasing, and
+vice-versa.
+.TP
+.B +, \-, *
+When in tree view mode, expand or collapse subtree. When a subtree is collapsed
+a "+" sign shows to the left of the process name.
+Pressing "*" will expand or collapse all children of PIDs without parents, so
+typically PID 1 (init) and PID 2 (kthreadd on Linux, if kernel threads are shown).
+.TP
+.B a (on multiprocessor machines)
+Set CPU affinity: mark which CPUs a process is allowed to use.
+.TP
+.B u
+Show only processes owned by a specified user.
+.TP
+.B N
+Sort by PID.
+.TP
+.B M
+Sort by memory usage (top compatibility key).
+.TP
+.B P
+Sort by processor usage (top compatibility key).
+.TP
+.B T
+Sort by time (top compatibility key).
+.TP
+.B F
+"Follow" process: if the sort order causes the currently selected process
+to move in the list, make the selection bar follow it. This is useful for
+monitoring a process: this way, you can keep a process always visible on
+screen. When a movement key is used, "follow" loses effect.
+.TP
+.B K
+Hide kernel threads: prevent the threads belonging the kernel to be
+displayed in the process list. (This is a toggle key.)
+.TP
+.B H
+Hide user threads: on systems that represent them differently than ordinary
+processes (such as recent NPTL-based systems), this can hide threads from
+userspace processes in the process list. (This is a toggle key.)
+.TP
+.B O
+Hide containerized processes: prevent processes running in a container
+from being displayed in the process list. (This is a toggle key.)
+.TP
+.B p
+Show full paths to running programs, where applicable. (This is a toggle key.)
+.TP
+.B Z
+Pause/resume process updates.
+.TP
+.B m
+Merge exe, comm and cmdline, where applicable. (This is a toggle key.)
+.TP
+.B Ctrl-L
+Refresh: redraw screen and recalculate values.
+.TP
+.B Numbers
+PID search: type in process ID and the selection highlight will be moved to it.
+.PD
+.SH "COLUMNS"
+The following columns can display data about each process. A value of '\-' in
+all the rows indicates that a column is unsupported on your system, or
+currently unimplemented in
+.BR htop .
+The names below are the ones used in the
+"Available Columns" section of the setup screen. If a different name is
+shown in
+.BR htop 's
+main screen, it is shown below in parenthesis.
+.TP 5
+.B Command
+The full command line of the process (i.e. program name and arguments).
+
+If the option 'Merge exe, comm and cmdline in Command' (toggled by the 'm' key)
+is active, the executable path (/proc/[pid]/exe) and the command name
+(/proc/[pid]/comm) are also shown merged with the command line, if available.
+
+The program basename is highlighted if set in the configuration. Additional
+highlighting can be configured for stale executables (cf. EXE column below).
+.TP
+.B COMM
+The command name of the process obtained from /proc/[pid]/comm, if readable.
+
+Requires Linux kernel 2.6.33 or newer.
+.TP
+.B EXE
+The abbreviated basename of the executable of the process, obtained from
+/proc/[pid]/exe, if readable. htop is able to read this file on linux for ALL
+the processes only if it has the capability CAP_SYS_PTRACE or root privileges.
+
+The basename is marked in red if the executable used to run the process has
+been replaced or deleted on disk since the process started. The information is
+obtained by processing the contents of /proc/[pid]/exe.
+
+Furthermore the basename is marked in yellow if any library is reported as having
+been replaced or deleted on disk since it was last loaded. The information is
+obtained by processing the contents of /proc/[pid]/maps.
+
+When deciding the color the replacement of the main executable always takes
+precedence over replacement of any other library. If only the memory map indicates
+a replacement of the main executable, this will show as if any other library had
+been replaced or deleted.
+
+This additional color markup can be configured in the "Display Options" section of
+the setup screen.
+
+Displaying EXE requires CAP_SYS_PTRACE and PTRACE_MODE_READ_FSCRED.
+.TP
+.B PID
+The process ID.
+.TP
+.B STATE (S)
+The state of the process:
+ \fBS\fR for sleeping
+ \fBI\fR for idle (longer inactivity than sleeping on platforms that distinguish)
+ \fBR\fR for running
+ \fBD\fR for disk sleep (uninterruptible)
+ \fBZ\fR for zombie (waiting for parent to read its exit status)
+ \fBT\fR for traced or suspended (e.g by SIGTSTP)
+ \fBW\fR for paging
+.TP
+.B PPID
+The parent process ID.
+.TP
+.B PGRP
+The process's group ID.
+.TP
+.B SESSION (SID)
+The process's session ID.
+.TP
+.B TTY
+The controlling terminal of the process.
+.TP
+.B TPGID
+The process ID of the foreground process group of the controlling terminal.
+.TP
+.B MINFLT
+The number of page faults happening in the main memory.
+.TP
+.B CMINFLT
+The number of minor faults for the process's waited-for children (see MINFLT above).
+.TP
+.B MAJFLT
+The number of page faults happening out of the main memory.
+.TP
+.B CMAJFLT
+The number of major faults for the process's waited-for children (see MAJFLT above).
+.TP
+.B UTIME (UTIME+)
+The user CPU time, which is the amount of time the process has spent executing
+on the CPU in user mode (i.e. everything but system calls), measured in clock
+ticks.
+.TP
+.B STIME (STIME+)
+The system CPU time, which is the amount of time the kernel has spent
+executing system calls on behalf of the process, measured in clock ticks.
+.TP
+.B CUTIME (CUTIME+)
+The children's user CPU time, which is the amount of time the process's
+waited-for children have spent executing in user mode (see UTIME above).
+.TP
+.B CSTIME (CSTIME+)
+The children's system CPU time, which is the amount of time the kernel has spent
+executing system calls on behalf of all the process's waited-for children (see
+STIME above).
+.TP
+.B PRIORITY (PRI)
+The kernel's internal priority for the process, usually just its nice value
+plus twenty. Different for real-time processes.
+.TP
+.B NICE (NI)
+The nice value of a process, from 19 (low priority) to -20 (high priority). A
+high value means the process is being nice, letting others have a higher
+relative priority. The usual OS permission restrictions for adjusting priority apply.
+.TP
+.B STARTTIME (START)
+The time the process was started.
+.TP
+.B PROCESSOR (CPU)
+The ID of the CPU the process last executed on.
+.TP
+.B M_VIRT (VIRT)
+The size of the virtual memory of the process.
+.TP
+.B M_RESIDENT (RES)
+The resident set size (text + data + stack) of the process (i.e. the size of the
+process's used physical memory).
+.TP
+.B M_SHARE (SHR)
+The size of the process's shared pages.
+.TP
+.B M_TRS (CODE)
+The text resident set size of the process (i.e. the size of the process's
+executable instructions).
+.TP
+.B M_DRS (DATA)
+The data resident set size (data + stack) of the process (i.e. the size of anything
+except the process's executable instructions).
+.TP
+.B M_LRS (LIB)
+The library size of the process.
+.TP
+.B M_SWAP (SWAP)
+The size of the process's swapped pages.
+.TP
+.B M_PSS (PSS)
+The proportional set size, same as M_RESIDENT but each page is divided by the
+number of processes sharing it.
+.TP
+.B M_M_PSSWP (PSSWP)
+The proportional swap share of this mapping, unlike M_SWAP this does not take
+into account swapped out page of underlying shmem objects.
+.TP
+.B ST_UID (UID)
+The user ID of the process owner.
+.TP
+.B PERCENT_CPU (CPU%)
+The percentage of the CPU time that the process is currently using.
+This is the default way to represent CPU usage in Linux. Each process can
+consume up to 100% which means the full capacity of the core it is running
+on. This is sometimes called "Irix mode" e.g. in
+.BR top (1).
+.TP
+.B PERCENT_NORM_CPU (NCPU%)
+The percentage of the CPU time that the process is currently using normalized
+by CPU count. This is sometimes called "Solaris mode" e.g. in
+.BR top (1).
+.TP
+.B PERCENT_MEM (MEM%)
+The percentage of memory the process is currently using (based on the process's
+resident memory size, see M_RESIDENT above).
+.TP
+.B USER
+The username of the process owner, or the user ID if the name can't be
+determined.
+
+On Linux the username is highlighted if the process has elevated privileges,
+i.e. if it has been started from binaries with file capabilities set or
+retained Linux capabilities, via the ambient set, after switching from the
+root user.
+.TP
+.B TIME (TIME+)
+The time, measured in clock ticks that the process has spent in user and system
+time (see UTIME, STIME above).
+.TP
+.B NLWP
+The number of Light-Weight Processes (=threads) in the process.
+.TP
+.B TGID
+The thread group ID.
+.TP
+.B CTID
+OpenVZ container ID, a.k.a virtual environment ID.
+.TP
+.B VPID
+OpenVZ process ID.
+.TP
+.B VXID
+VServer process ID.
+.TP
+.B RCHAR (RD_CHAR)
+The number of bytes the process has read.
+.TP
+.B WCHAR (WR_CHAR)
+The number of bytes the process has written.
+.TP
+.B SYSCR (RD_SYSC)
+The number of read(2) syscalls for the process.
+.TP
+.B SYSCW (WR_SYSC)
+The number of write(2) syscalls for the process.
+.TP
+.B RBYTES (IO_RBYTES)
+Bytes of read(2) I/O for the process.
+.TP
+.B WBYTES (IO_WBYTES)
+Bytes of write(2) I/O for the process.
+.TP
+.B CNCLWB (IO_CANCEL)
+Bytes of cancelled write(2) I/O.
+.TP
+.B IO_READ_RATE (DISK READ)
+The I/O rate of read(2) in bytes per second, for the process.
+.TP
+.B IO_WRITE_RATE (DISK WRITE)
+The I/O rate of write(2) in bytes per second, for the process.
+.TP
+.B IO_RATE (DISK R/W)
+The I/O rate, IO_READ_RATE + IO_WRITE_RATE (see above).
+.TP
+.B CGROUP
+Which cgroup the process is in. For a shortened view see the CCGROUP column below.
+.TP
+.B CCGROUP
+Shortened view of the cgroup name that the process is in.
+This performs some pattern-based replacements to shorten the displayed string and thus condense the information.
+ \fB/*.slice\fR is shortened to \fB/[*]\fR (exceptions below)
+ \fB/system.slice\fR is shortened to \fB/[S]\fR
+ \fB/user.slice\fR is shortened to \fB/[U]\fR
+ \fB/user-*.slice\fR is shortened to \fB/[U:*]\fR (directly preceding \fB/[U]\fR before dropped)
+ \fB/machine.slice\fR is shortened to \fB/[M]\fR
+ \fB/machine-*.scope\fR is shortened to \fB/[SNC:*]\fR (SNC: systemd nspawn container), uppercase for the monitor
+ \fB/lxc.monitor.*\fR is shortened to \fB/[LXC:*]\fR
+ \fB/lxc.payload.*\fR is shortened to \fB/[lxc:*]\fR
+ \fB/*.scope\fR is shortened to \fB/!*\fR
+ \fB/*.service\fR is shortened to \fB/*\fR (suffix removed)
+
+Encountered escape sequences (e.g. from systemd) inside the cgroup name are not decoded.
+.TP
+.B OOM
+OOM killer score.
+.TP
+.B CTXT
+Incremental sum of voluntary and nonvoluntary context switches.
+.TP
+.B IO_PRIORITY (IO)
+The I/O scheduling class followed by the priority if the class supports it:
+ \fBR\fR for Realtime
+ \fBB\fR for Best-effort
+ \fBid\fR for Idle
+.TP
+.B PERCENT_CPU_DELAY (CPUD%)
+The percentage of time spent waiting for a CPU (while runnable). Requires CAP_NET_ADMIN.
+.TP
+.B PERCENT_IO_DELAY (IOD%)
+The percentage of time spent waiting for the completion of synchronous block I/O. Requires CAP_NET_ADMIN.
+.TP
+.B PERCENT_SWAP_DELAY (SWAPD%)
+The percentage of time spent swapping in pages. Requires CAP_NET_ADMIN.
+.TP
+.B AGRP
+The autogroup identifier for the process. Requires Linux CFS to be enabled.
+.TP
+.B ANI
+The autogroup nice value for the process autogroup. Requires Linux CFS to be enabled.
+.TP
+.B All other flags
+Currently unsupported (always displays '-').
+.SH "EXTERNAL LIBRARIES"
+While
+.B htop
+depends on most of the libraries it uses at build time there are two
+noteworthy exceptions to this rule. These exceptions both relate to
+data displayed in meters displayed in the header of
+.B htop
+and were intentionally created as optional runtime dependencies instead.
+These exceptions are described below:
+.TP
+.B libsystemd
+The bindings for libsystemd are used in the SystemD meter to determine
+the number of active services and the overall system state. Looking for
+the functions to determine these information at runtime allows for
+builds to support these meters without forcing the package manager
+to install these libraries on systems that otherwise don't use systemd.
+
+Summary: no build time dependency, optional runtime dependency on
+.B libsystemd
+via dynamic loading, with
+.B systemctl(1)
+fallback.
+.TP
+.B libsensors
+The bindings for libsensors are used for the CPU temperature readings
+in the CPU usage meters if displaying the temperature is enabled through
+the setup screen. In order for
+.B htop
+to show these temperatures correctly though, a proper configuration
+of libsensors through its usual configuration files is assumed and that
+all CPU cores correspond to temperature sensors from the
+.B coretemp
+driver with core 0 corresponding to a sensor labelled "Core 0". The
+package temperature may be given as "Package id 0". If missing it is
+inferred as the maximum value from the available per-core readings.
+
+Summary: build time dependency on
+.B libsensors(3)
+C header files, optional runtime dependency on
+.B libsensors(3)
+via dynamic loading.
+.SH "CONFIG FILES"
+By default
+.B htop
+reads its configuration from the XDG-compliant path
+.IR ~/.config/htop/htoprc .
+The configuration file is overwritten upon clean exit by
+.BR htop 's
+in-program Setup configuration, so it should not be hand-edited.
+If no user configuration exists
+.B htop
+tries to read the system-wide configuration from
+.I @sysconfdir@/htoprc
+and as a last resort, falls back to its hard coded defaults.
+.LP
+You may override the location of the configuration file using the $HTOPRC
+environment variable (so you can have multiple configurations for different
+machines that share the same home directory, for example).
+.LP
+The
+.B pcp-htop
+utility makes use of
+.I htoprc
+in exactly the same way.
+In addition, it supports additional configuration files allowing
+new meters and columns to be added to the display via the usual
+Setup function, which will display additional Available Meters
+and Available Column entries for each runtime configured meter
+or column.
+.LP
+These
+.B pcp-htop
+configuration files are read once at startup.
+The format of these files is described in detail in the
+.BR pcp-htop (5)
+manual page.
+.LP
+This functionality makes available many thousands of Performance
+Co-Pilot metrics for display by
+.BR pcp-htop ,
+as well as the ability to display custom metrics added at individual sites.
+Applications and services instrumented using the OpenMetrics format
+.B https://openmetrics.io
+can also be displayed by
+.B pcp-htop
+if the
+.BR pmdaopenmetrics (1)
+component is configured.
+.LP
+The configuration for both
+.B htop
+and
+.B pcp-htop
+is only saved when a clean exit is performed. Sending any signal will cause
+.I all configuration changes to be lost.
+.SH "MEMORY SIZES"
+Memory sizes in
+.B htop
+are displayed in a human-readable form.
+Sizes are printed in powers of 1024 using binary IEC units.
+If no suffix is shown the units are implicitly K as in KiB (kibibyte, 1 KiB = 1024 bytes).
+.LP
+The decision to use this convention was made in order to conserve screen
+space and make memory size representations consistent throughout
+.B htop
+as allocations are granular to full memory pages (4 KiB for most platforms).
+.SH "SEE ALSO"
+.BR proc (5),
+.BR top (1),
+.BR free (1),
+.BR ps (1),
+.BR uptime (1)
+and
+.BR limits.conf (5).
+.SH "SEE ALSO FOR PCP"
+.BR pmdaopenmetrics (1),
+.BR PCPIntro (1),
+.BR PMAPI (3),
+and
+.BR pcp-htop (5).
+.SH "AUTHORS"
+.B htop
+was originally developed by Hisham Muhammad.
+Nowadays it is maintained by the community at <htop@groups.io>.
+.LP
+.B pcp-htop
+is maintained as a collaboration between the <htop@groups.io> and <pcp@groups.io>
+communities, and forms part of the Performance Co-Pilot suite of tools.
+.SH "COPYRIGHT"
+Copyright \(co 2004-2019 Hisham Muhammad.
+.br
+Copyright \(co 2020-2024 htop dev team.
+.LP
+License GPLv2+: GNU General Public License version 2 or, at your option, any later version.
+.LP
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.