Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
HTOP(1)				     Utils			       HTOP(1)

       htop - interactive process viewer

       htop [-dChusv]

       Htop is a free (GPL) ncurses-based process viewer for Linux.

       It  is similar to top, but allows you to	scroll vertically and horizon-
       tally, so you can see all the processes running on  the	system,	 along
       with  their  full  command  lines, as well as viewing them as a process
       tree, selecting mutiple processes and acting on them all	at once.

       Tasks related to	processes (killing, renicing) can be done without  en-
       tering their PIDs.

       Mandatory  arguments  to	 long  options are mandatory for short options

       -d --delay=DELAY
	      Delay between updates, in	tenths of seconds

       -C --no-color --no-colour
	      Start htop in monochrome mode

       -h --help
	      Display a	help message and exit

       -p --pid=PID,PID...
	      Show only	the given PIDs

       -s --sort-key COLUMN
	      Sort by this column (use --sort-key help for a column list)

       -u --user=USERNAME
	      Show only	the processes of a given user

       -v --version
	      Output version information and exit

       The following commands are supported while in htop:

       Arrows, PgUP, PgDn, Home, End
	    Scroll the process list.

	    Tag	or untag a process. Commands that can operate on multiple pro-
	    cesses,  like "kill", will then apply over the list	of tagged pro-
	    cesses, instead of the currently highlighted one.

       U    Untag all processes	(remove	all tags added with the	Space key).

       s    Trace process system calls:	if strace(1)  is  installed,  pressing
	    this  key  will  attach it to the currently	selected process, pre-
	    senting a live update of system calls issued by the	process.

       l    Display open files for a process: if lsof(1) is installed,	press-
	    ing	 this  key will	display	the list of file descriptors opened by
	    the	process.

       F1, h, ?
	    Go to the help screen

       F2, S
	    Go to the setup screen, where you can configure  the  meters  dis-
	    played  at	the  top  of  the screen, set various display options,
	    choose among color schemes,	and  select  which  columns  are  dis-
	    played, in which order.

       F3, /
	    Incrementally  search  the command lines of	all the	displayed pro-
	    cesses. The	currently selected (highlighted) command  will	update
	    as	you type. While	in search mode,	pressing F3 will cycle through
	    matching occurrences.

       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.

       F5, t
	    Tree view: organize	processes by parenthood, and layout the	 rela-
	    tions 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.

       F6   On	sorted	view,  select  a  field	 for  sorting, also accessible
	    through < and >.  The current sort field is	indicated by  a	 high-
	    light in the header.  On tree view,	expand or collapse the current
	    subtree. A "+" indicator in	the tree node  indicates  that	it  is

       F7, ]
	    Increase  the  selected  process's	priority (subtract from	'nice'
	    value).  This can only be done by the superuser.

       F8, [
	    Decrease the selected process's priority (add to 'nice' value)

       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 sig-
	    nal	to all tagged processes.  If none is tagged, sends to the cur-
	    rently selected process.

       F10, q

       I    Invert  the	sort order: if sort order is increasing, switch	to de-
	    creasing, and vice-versa.

       +, - When in tree view mode, expand or collapse subtree.	When a subtree
	    is collapsed a "+" sign shows to the left of the process name.

       a (on multiprocessor machines)
	    Set	CPU affinity: mark which CPUs a	process	is allowed to use.

       u    Show only processes	owned by a specified user.

       M    Sort by memory usage (top compatibility key).

       P    Sort by processor usage (top compatibility key).

       T    Sort by time (top compatibility key).

       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.

       K    Hide  kernel  threads: prevent the threads belonging the kernel to
	    be displayed in the	process	list. (This is a toggle	key.)

       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.)

       p    Show  full paths to	running	programs, where	applicable. (This is a
	    toggle key.)

	    Refresh: redraw screen and recalculate values.

	    PID	search:	type in	process	ID and the selection highlight will be
	    moved to it.

       The  following  columns can display data	about each process. A value of
       '-' in all the rows indicates that a column is unsupported on your sys-
       tem,  or	 currently unimplemented in htop. The names below are the ones
       used in the "Available Columns" section of the setup screen. If a  dif-
       ferent name is shown in htop's main screen, it is shown below in	paren-

	    The	full command line of the process (i.e. program name and	 argu-

       PID  The	process	ID.

       STATE (S)
	    The	state of the process:
	       S for sleeping (idle)
	       R for running
	       D for disk sleep	(uninterruptible)
	       Z for zombie (waiting for parent	to read	its exit status)
	       T for traced or suspended (e.g by SIGTSTP)
	       W for paging

       PPID The	parent process ID.

       PGRP The	process's group	ID.

	    The	process's session ID.

       TTY_NR (TTY)
	    The	controlling terminal of	the process.

	    The	 process ID of the foreground process group of the controlling

	    The	number of page faults happening	in the main memory.

	    The	number of minor	faults for the process's  waited-for  children
	    (see MINFLT	above).

	    The	number of page faults happening	out of the main	memory.

	    The	 number	 of major faults for the process's waited-for children
	    (see MAJFLT	above).

       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 sys-
	    tem	calls),	measured in clock ticks.

       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.

	    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).

	    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).

	    The	kernel's internal priority for the process, usually  just  its
	    nice value plus twenty. Different for real-time processes.

       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.

	    The	time the process was started.

	    The	ID of the CPU the process last executed	on.

       M_SIZE (VIRT)
	    The	size of	the virtual memory of the process.

	    The	resident set size (text	+ data + stack)	of the	process	 (i.e.
	    the	size of	the process's used physical memory).

       M_SHARE (SHR)
	    The	size of	the process's shared pages.

       M_TRS (CODE)
	    The	 text  resident	 set size of the process (i.e. the size	of the
	    process's executable instructions).

       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).

       M_LRS (LIB)
	    The	library	size of	the process.

       M_DT (DIRTY)
	    The	size of	the dirty pages	of the process.

       ST_UID (UID)
	    The	user ID	of the process owner.

	    The	 percentage  of	the CPU	time that the process is currently us-

	    The	percentage of memory the process is currently using (based  on
	    the	process's resident memory size,	see M_RESIDENT above).

       USER The	 username  of  the  process  owner, or the user	ID if the name
	    can't be determined.

       TIME (TIME+)
	    The	time, measured in clock	ticks that the process	has  spent  in
	    user and system time (see UTIME, STIME above).

       NLWP The	number of threads in the process.

       TGID The	thread group ID.

       CTID OpenVZ container ID, a.k.a virtual environment ID.

       VPID OpenVZ process ID.

       VXID VServer process ID.

       RCHAR (RD_CHAR)
	    The	number of bytes	the process has	read.

       WCHAR (WR_CHAR)
	    The	number of bytes	the process has	written.

       SYSCR (RD_SYSC)
	    The	number of read(2) syscalls for the process.

       SYSCW (WR_SYSC)
	    The	number of write(2) syscalls for	the process.

	    Bytes of read(2) I/O for the process.

	    Bytes of write(2) I/O for the process.

	    Bytes of cancelled write(2)	I/O.

	    The	I/O rate of read(2) in bytes per second, for the process.

	    The	I/O rate of write(2) in	bytes per second, for the process.

       IO_RATE (DISK R/W)
	    The	I/O rate, IO_READ_RATE + IO_WRITE_RATE (see above).

	    Which cgroup the process is	in.

       OOM  OOM	killer score.

	    The	 I/O  scheduling  class	 followed by the priority if the class
	    supports it:
	       R for Realtime
	       B for Best-effort
	       id for Idle

       All other flags
	    Currently unsupported (always displays '-').

       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.
       If no user configuration	exists htop tries to read the system-wide con-
       figuration from ${prefix}/etc/htoprc and	as a last resort,  falls  back
       to its hard coded defaults.

       You may override	the location of	the configuration file using the $HTO-
       PRC environment variable	(so you	can have multiple  configurations  for
       different machines that share the same home directory, for example).

       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)

       The  decision  to  use  this  convention	 was made in order to conserve
       screen space and	make memory size representations consistent throughout

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

       htop is developed by Hisham Muhammad <>.

       This  man  page was written by Bartosz Fenski <> for the De-
       bian GNU/Linux distribution (but	it may be used by others). It was  up-
       dated  by  Hisham  Muhammad, and	later by Vincent Launchbury, who wrote
       the 'Columns' section.

htop 2.0.1			     2015			       HTOP(1)


Want to link to this manual page? Use this URL:

home | help