2015-03-21 19:52:54 +00:00
|
|
|
.TH "HTOP" "1" "2015" "@PACKAGE_STRING@" "Utils"
|
2006-03-04 18:16:49 +00:00
|
|
|
.SH "NAME"
|
|
|
|
htop \- interactive process viewer
|
2011-09-08 02:16:11 +00:00
|
|
|
.SH "SYNOPSIS"
|
2006-03-04 18:16:49 +00:00
|
|
|
.LP
|
2011-09-08 02:16:11 +00:00
|
|
|
.B htop [\fI\-dChusv\fR]
|
2006-03-04 18:16:49 +00:00
|
|
|
.SH "DESCRIPTION"
|
|
|
|
.LP
|
2011-09-08 02:16:11 +00:00
|
|
|
Htop is a free (GPL) ncurses-based process viewer for Linux.
|
2006-03-04 18:16:49 +00:00
|
|
|
.LP
|
2011-09-08 02:16:11 +00:00
|
|
|
It is similar to top, but allows you to scroll vertically and horizontally,
|
|
|
|
so you can see all the processes running on the system, along with their full
|
2014-05-03 21:14:08 +00:00
|
|
|
command lines, as well as viewing them as a process tree, selecting mutiple
|
|
|
|
processes and acting on them all at once.
|
2006-03-04 18:16:49 +00:00
|
|
|
.LP
|
|
|
|
Tasks related to processes (killing, renicing) can be done without
|
|
|
|
entering their PIDs.
|
|
|
|
.br
|
2009-06-02 04:29:26 +00:00
|
|
|
.SH "COMMAND-LINE OPTIONS"
|
2011-09-08 02:16:11 +00:00
|
|
|
.LP
|
2013-05-23 00:19:16 +00:00
|
|
|
Mandatory arguments to long options are mandatory for short options too.
|
2009-06-02 04:29:26 +00:00
|
|
|
.LP
|
|
|
|
.TP
|
2011-09-08 02:16:11 +00:00
|
|
|
\fB\-d \-\-delay=DELAY\fR
|
2009-06-02 04:29:26 +00:00
|
|
|
Delay between updates, in tenths of seconds
|
|
|
|
.TP
|
2011-09-08 02:16:11 +00:00
|
|
|
\fB\-C \-\-no-color \-\-no-colour\fR
|
|
|
|
Start htop in monochrome mode
|
|
|
|
.TP
|
|
|
|
\fB\-h \-\-help
|
|
|
|
Display a help message and exit
|
|
|
|
.TP
|
2012-08-10 21:54:41 +00:00
|
|
|
\fB\-p \-\-pid=PID,PID...\fR
|
|
|
|
Show only the given PIDs
|
2009-06-02 04:29:26 +00:00
|
|
|
.TP
|
2011-09-08 02:16:11 +00:00
|
|
|
\fB\-s \-\-sort\-key COLUMN\fR
|
|
|
|
Sort by this column (use \-\-sort\-key help for a column list)
|
|
|
|
.TP
|
2012-08-10 21:54:41 +00:00
|
|
|
\fB\-u \-\-user=USERNAME\fR
|
|
|
|
Show only the processes of a given user
|
|
|
|
.TP
|
2011-09-08 02:16:11 +00:00
|
|
|
\fB\-v \-\-version
|
|
|
|
Output version information and exit
|
2009-06-02 04:29:26 +00:00
|
|
|
.PP
|
|
|
|
.br
|
2006-03-04 18:16:49 +00:00
|
|
|
.SH "INTERACTIVE COMMANDS"
|
|
|
|
.LP
|
2011-09-08 02:16:11 +00:00
|
|
|
The following commands are supported while in htop:
|
2006-03-04 18:16:49 +00:00
|
|
|
.LP
|
|
|
|
.TP 5
|
|
|
|
.B Arrows, PgUP, PgDn, Home, End
|
2011-09-08 02:16:11 +00:00
|
|
|
Scroll the process list.
|
2006-03-04 18:16:49 +00:00
|
|
|
.TP
|
|
|
|
.B Space
|
2011-09-08 02:16:11 +00:00
|
|
|
Tag or untag a process. Commands that can operate on multiple processes,
|
2006-03-04 18:16:49 +00:00
|
|
|
like "kill", will then apply over the list of tagged processes, instead
|
|
|
|
of the currently highlighted one.
|
|
|
|
.TP
|
|
|
|
.B U
|
2011-09-08 02:16:11 +00:00
|
|
|
Untag all processes (remove all tags added with the Space key).
|
2006-03-04 18:16:49 +00:00
|
|
|
.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
|
2009-06-02 05:06:20 +00:00
|
|
|
.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
|
2011-09-08 02:16:11 +00:00
|
|
|
.B F1, h, ?
|
|
|
|
Go to the help screen
|
2006-03-04 18:16:49 +00:00
|
|
|
.TP
|
|
|
|
.B F2, S
|
2011-09-08 02:16:11 +00:00
|
|
|
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.
|
2006-03-04 18:16:49 +00:00
|
|
|
.TP
|
|
|
|
.B F3, /
|
2011-09-08 02:16:11 +00:00
|
|
|
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.
|
2006-03-04 18:16:49 +00:00
|
|
|
.TP
|
2011-09-08 02:16:11 +00:00
|
|
|
.B F4, \\\\
|
2011-09-08 01:17:26 +00:00
|
|
|
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.
|
|
|
|
.TP
|
2006-03-04 18:16:49 +00:00
|
|
|
.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
|
2014-04-09 21:02:50 +00:00
|
|
|
.B F6
|
|
|
|
On sorted view, select a field for sorting, also accessible through < and >.
|
|
|
|
The current sort field is indicated by a highlight in the header.
|
|
|
|
On tree view, expand or collapse the current subtree. A "+" indicator in the
|
|
|
|
tree node indicates that it is collapsed.
|
2006-03-04 18:16:49 +00:00
|
|
|
.TP
|
2011-09-27 00:03:40 +00:00
|
|
|
.B F7, ]
|
2011-09-08 02:16:11 +00:00
|
|
|
Increase the selected process's priority (subtract from 'nice' value).
|
|
|
|
This can only be done by the superuser.
|
2006-03-04 18:16:49 +00:00
|
|
|
.TP
|
2011-09-27 00:03:40 +00:00
|
|
|
.B F8, [
|
2011-09-08 02:16:11 +00:00
|
|
|
Decrease the selected process's priority (add to 'nice' value)
|
2006-03-04 18:16:49 +00:00
|
|
|
.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
|
2011-09-08 02:16:11 +00:00
|
|
|
.B I
|
|
|
|
Invert the sort order: if sort order is increasing, switch to decreasing, and
|
|
|
|
vice-versa.
|
|
|
|
.TP
|
|
|
|
.B +, \-
|
2010-06-17 19:04:22 +00:00
|
|
|
When in tree view mode, expand or collapse subtree. When a subtree is collapsed
|
|
|
|
a "+" sign shows to the left of the process name.
|
|
|
|
.TP
|
2007-11-08 23:23:01 +00:00
|
|
|
.B a (on multiprocessor machines)
|
|
|
|
Set CPU affinity: mark which CPUs a process is allowed to use.
|
|
|
|
.TP
|
2006-03-04 18:16:49 +00:00
|
|
|
.B u
|
|
|
|
Show only processes owned by a specified user.
|
|
|
|
.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 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
|
|
|
|
|
2011-09-08 02:16:11 +00:00
|
|
|
.SH "COLUMNS"
|
|
|
|
.LP
|
|
|
|
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 htop. The names below are the ones used in the
|
|
|
|
"Available Columns" section of the setup screen. If a different name is
|
|
|
|
shown in htop's main screen, it is shown below in parenthesis.
|
|
|
|
.LP
|
|
|
|
.TP 5
|
|
|
|
.B Command
|
|
|
|
The full command line of the process (i.e program name and arguments).
|
|
|
|
.TP
|
|
|
|
.B PID
|
|
|
|
The process ID.
|
|
|
|
.TP
|
2014-05-15 08:08:46 +00:00
|
|
|
.B STATE (S)
|
|
|
|
The state of the process:
|
|
|
|
\fBS\fR for sleeping (idle)
|
|
|
|
\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
|
2011-09-08 02:16:11 +00:00
|
|
|
.B PPID
|
|
|
|
The parent process ID.
|
|
|
|
.TP
|
|
|
|
.B PGRP
|
|
|
|
The process's group ID.
|
|
|
|
.TP
|
|
|
|
.B SESSION (SESN)
|
|
|
|
The process's session ID.
|
|
|
|
.TP
|
|
|
|
.B TTY_NR (TTY)
|
|
|
|
The controlling terminal of the process.
|
|
|
|
.TP
|
|
|
|
.B TPGID
|
|
|
|
The process ID of the foreground process group of the controlling terminal.
|
|
|
|
.TP
|
2014-05-17 18:22:30 +00:00
|
|
|
.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
|
2011-09-08 02:16:11 +00:00
|
|
|
.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
|
2014-05-15 07:22:03 +00:00
|
|
|
.B CUTIME (CUTIME+)
|
2011-09-08 02:16:11 +00:00
|
|
|
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
|
2014-05-15 07:22:03 +00:00
|
|
|
.B CSTIME (CSTIME+)
|
2011-09-08 02:16:11 +00:00
|
|
|
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)
|
2013-05-23 00:19:16 +00:00
|
|
|
The kernel's internal priority for the process, usually just its nice value
|
2011-09-08 02:16:11 +00:00
|
|
|
plus twenty. Different for real-time processes.
|
|
|
|
.TP
|
2014-05-15 08:08:46 +00:00
|
|
|
.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. Only root can lower the value.
|
|
|
|
.TP
|
|
|
|
.B STARTTIME (START)
|
|
|
|
The time the process was started.
|
|
|
|
.TP
|
|
|
|
.B PROCESSOR (CPU)
|
|
|
|
The ID of the CPU the process last executed on.
|
2011-09-08 02:16:11 +00:00
|
|
|
.TP
|
|
|
|
.B M_SIZE (VIRT)
|
|
|
|
Size in memory of the total program size.
|
|
|
|
.TP
|
|
|
|
.B M_RESIDENT (RES)
|
|
|
|
The resident set size, i.e the size of the text and data sections, plus stack
|
|
|
|
usage.
|
|
|
|
.TP
|
|
|
|
.B M_SHARE (SHR)
|
2014-05-17 18:20:58 +00:00
|
|
|
The size of the process's shared pages.
|
2011-09-08 02:16:11 +00:00
|
|
|
.TP
|
|
|
|
.B M_TRS (CODE)
|
|
|
|
The size of the text segment of the process (i.e the size of the processes
|
|
|
|
executable instructions).
|
|
|
|
.TP
|
|
|
|
.B M_DRS (DATA)
|
|
|
|
The size of the data segment plus stack usage of the process.
|
|
|
|
.TP
|
2014-05-15 08:08:46 +00:00
|
|
|
.B M_LRS (LIB)
|
|
|
|
The library size of the process.
|
|
|
|
.TP
|
2011-09-08 02:16:11 +00:00
|
|
|
.B M_DT (DIRTY)
|
|
|
|
The size of the dirty pages of the process.
|
|
|
|
.TP
|
|
|
|
.B ST_UID (UID)
|
|
|
|
The user ID of the process owner.
|
|
|
|
.TP
|
2014-05-15 08:08:46 +00:00
|
|
|
.B PERCENT_CPU (CPU%)
|
|
|
|
The percentage of the CPU time that the process is currently using.
|
|
|
|
.TP
|
|
|
|
.B PERCENT_MEM (MEM%)
|
|
|
|
The percentage of memory the process is currently using (based on the process's
|
2014-05-17 18:20:58 +00:00
|
|
|
resident memory size, see M_RESIDENT above).
|
2014-05-15 08:08:46 +00:00
|
|
|
.TP
|
2011-09-08 02:16:11 +00:00
|
|
|
.B USER
|
|
|
|
The username of the process owner, or the user ID if the name can't be
|
|
|
|
determined.
|
|
|
|
.TP
|
2014-05-15 08:08:46 +00:00
|
|
|
.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 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.
|
2011-09-08 02:16:11 +00:00
|
|
|
.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
|
2014-05-15 08:08:46 +00:00
|
|
|
.B CNCLWB (IO_CANCEL)
|
|
|
|
Bytes of cancelled write(2) I/O.
|
|
|
|
.TP
|
2015-02-04 13:47:00 +00:00
|
|
|
.B IO_READ_RATE (DISK READ)
|
2011-09-08 02:16:11 +00:00
|
|
|
The I/O rate of read(2) in bytes per second, for the process.
|
|
|
|
.TP
|
2015-02-04 13:47:00 +00:00
|
|
|
.B IO_WRITE_RATE (DISK WRITE)
|
2011-09-08 02:16:11 +00:00
|
|
|
The I/O rate of write(2) in bytes per second, for the process.
|
|
|
|
.TP
|
2015-02-04 13:47:00 +00:00
|
|
|
.B IO_RATE (DISK R/W)
|
2011-09-08 02:16:11 +00:00
|
|
|
The I/O rate, IO_READ_RATE + IO_WRITE_RATE (see above).
|
|
|
|
.TP
|
2014-05-15 08:08:46 +00:00
|
|
|
.B CGROUP
|
|
|
|
Which cgroup the process is in.
|
|
|
|
.TP
|
|
|
|
.B OOM
|
|
|
|
OOM killer score.
|
2011-09-08 02:16:11 +00:00
|
|
|
.TP
|
2014-05-15 07:22:03 +00:00
|
|
|
.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
|
2011-09-08 02:16:11 +00:00
|
|
|
.B All other flags
|
|
|
|
Currently unsupported (always displays '-').
|
|
|
|
|
2014-05-03 21:14:08 +00:00
|
|
|
.SH "CONFIG FILE"
|
|
|
|
.LP
|
|
|
|
By default htop reads its configuration from the XDG-compliant path
|
|
|
|
~/.config/htop/htoprc -- the configuration file is overwritten by htop's
|
|
|
|
in-program Setup configuration, so it should not be hand-edited.
|
|
|
|
.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).
|
|
|
|
|
2015-06-08 23:11:43 +00:00
|
|
|
.SH "MEMORY SIZES"
|
|
|
|
.LP
|
|
|
|
Memory sizes in htop are displayed as they are in tools from the GNU Coreutils
|
|
|
|
(when ran with the --human-readable option). This means that sizes are printed
|
|
|
|
in powers of 1024. (e.g., 1023M = 1072693248 Bytes)
|
|
|
|
.LP
|
|
|
|
The decision to use this convention was made in order to conserve screen space
|
|
|
|
and make memory size representations consistent throughout htop.
|
|
|
|
|
2011-09-08 02:16:11 +00:00
|
|
|
.SH "SEE ALSO"
|
|
|
|
proc(5), top(1), free(1), ps(1), uptime(1)
|
|
|
|
|
2006-03-04 18:16:49 +00:00
|
|
|
.SH "AUTHORS"
|
|
|
|
.LP
|
2014-01-14 02:19:44 +00:00
|
|
|
htop is developed by Hisham Muhammad <hisham@gobolinux.org>.
|
2011-09-08 02:16:11 +00:00
|
|
|
.LP
|
|
|
|
This man page was written by Bartosz Fenski <fenio@o2.pl> for the Debian
|
|
|
|
GNU/Linux distribution (but it may be used by others). It was updated by Hisham
|
|
|
|
Muhammad, and later by Vincent Launchbury, who wrote the 'Columns' section.
|