blob: 515bac1c9243fc10f5838b5852ed5d57507abb98 [file] [log] [blame]
Samuel Williams746a5f22020-09-02 11:54:17 +12001# [![htop](htop.png)](https://htop.dev)
Tomas Barton01edfcf2016-02-11 19:17:00 +01002
Nathan Scotta7a5e352020-08-20 13:16:31 +10003[![CI](https://github.com/htop-dev/htop/workflows/CI/badge.svg)](https://github.com/htop-dev/htop/actions)
Nathan Scottb5e69522020-08-27 10:42:40 +10004[![Coverity Scan Build Status](https://scan.coverity.com/projects/21665/badge.svg)](https://scan.coverity.com/projects/21665)
Nathan Scotta7a5e352020-08-20 13:16:31 +10005[![Mailing List](https://img.shields.io/badge/Mailing%20List-htop-blue.svg)](https://groups.io/g/htop)
BenBE78793c52021-06-16 14:54:20 +02006[![IRC #htop](https://img.shields.io/badge/IRC-htop-blue.svg)](https://web.libera.chat/#htop)
Nathan Scotta7a5e352020-08-20 13:16:31 +10007[![Github Release](https://img.shields.io/github/release/htop-dev/htop.svg)](https://github.com/htop-dev/htop/releases/latest)
Nathan Scott4bd08592020-08-31 16:12:44 +10008[![Download](https://api.bintray.com/packages/htop/source/htop/images/download.svg)](https://bintray.com/htop/source/htop/_latestVersion)
Hisham Muhammad369bef22014-04-05 19:56:35 -03009
Bart Joy816734e2020-10-01 20:08:49 +130010![Screenshot of htop](docs/images/screenshot.png?raw=true)
11
Samuel Williams746a5f22020-09-02 11:54:17 +120012## Introduction
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000013
Nathan Scotta7a5e352020-08-20 13:16:31 +100014`htop` is a cross-platform interactive process viewer.
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000015
Daniel Lange3a1c6982020-09-16 17:54:25 +020016`htop` allows scrolling the list of processes vertically and horizontally to see their full command lines and related information like memory and CPU consumption.
17
18The information displayed is configurable through a graphical setup and can be sorted and filtered interactively.
19
20Tasks related to processes (e.g. killing and renicing) can be done without entering their PIDs.
21
22Running `htop` requires `ncurses` libraries (typically named libncursesw*).
23
24For more information and details on how to contribute to `htop` visit [htop.dev](https://htop.dev).
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000025
Samuel Williams746a5f22020-09-02 11:54:17 +120026## Build instructions
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000027
Daniel Lange3a1c6982020-09-16 17:54:25 +020028This program is distributed as a standard GNU autotools-based package.
Hisham011bf302016-02-11 17:20:50 -020029
Daniel Lange3a1c6982020-09-16 17:54:25 +020030Compiling `htop` requires the header files for `ncurses` (libncursesw*-dev). Install these and other required packages for C development from your package manager.
31
32Then, when compiling from a [release tarball](https://bintray.com/htop/source/htop), run:
Hisham011bf302016-02-11 17:20:50 -020033
Samuel Williams746a5f22020-09-02 11:54:17 +120034~~~ shell
35./configure && make
36~~~
Hisham011bf302016-02-11 17:20:50 -020037
Daniel Lange3a1c6982020-09-16 17:54:25 +020038Alternatively, for compiling sources downloaded from the Git repository (`git clone` or downloads from [Github releases](https://github.com/htop-dev/htop/releases/)),
39install the header files for `ncurses` (libncursesw*-dev) and other required development packages from your distribution's package manager. Then run:
Hisham Muhammad817e2922014-02-03 09:11:08 -020040
Samuel Williams746a5f22020-09-02 11:54:17 +120041~~~ shell
42./autogen.sh && ./configure && make
43~~~
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000044
Daniel Lange3a1c6982020-09-16 17:54:25 +020045By default `make install` will install into `/usr/local`, for changing the path use `./configure --prefix=/some/path`.
Tomas Bartond408c742016-02-11 14:59:45 +010046
Christian Göttsche5e103ff2021-01-22 19:14:46 +010047### Build Options
48
49`htop` has several build-time options to enable/disable additional features.
50
51#### Generic
52
53 * `--enable-unicode`:
54 enable Unicode support
55 dependency: *libncursesw*
56 default: *yes*
57 * `--enable-hwloc`:
58 enable hwloc support for CPU affinity; disables Linux affinity
59 dependency: *libhwloc*
60 default: *no*
divinity7693378b92021-01-30 13:14:49 +010061 * `--enable-static`:
Christian Göttsche575edff2021-01-22 19:14:59 +010062 build a static htop binary; hwloc and delay accounting are not supported
63 default: *no*
Christian Göttsche5e103ff2021-01-22 19:14:46 +010064 * `--enable-debug`:
65 Enable asserts and internal sanity checks; implies a performance penalty
66 default: *no*
67
68#### Linux
69
70 * `--enable-sensors`:
71 enable libsensors(3) support for reading temperature data
72 dependencies: *libsensors-dev*(build-time), at runtime *libsensors* is loaded via `dlopen(3)` if available
73 default: *check*
74 * `--enable-capabilities`:
75 enable Linux capabilities support
76 dependency: *libcap*
77 default: *check*
78 * `--with-proc`:
79 location of a Linux-compatible proc filesystem
80 default: */proc*
81 * `--enable-openvz`:
82 enable OpenVZ support
83 default: *no*
84 * `--enable-vserver`:
85 enable VServer support
86 default: *no*
87 * `--enable-ancient-vserver`:
88 enable ancient VServer support (implies `--enable-vserver`)
89 default: *no*
90 * `--enable-linux-affinity`:
91 enable Linux `sched_setaffinity(2)` and `sched_getaffinity(2)` for affinity support; conflicts with hwloc
92 default: *check*
93 * `--enable-delayacct`:
94 enable Linux delay accounting support
95 dependencies: *pkg-config*(build-time), *libnl-3* and *libnl-genl-3*
96 default: *check*
97
98## Usage
99
Daniel Lange3a1c6982020-09-16 17:54:25 +0200100See the manual page (`man htop`) or the on-line help ('F1' or 'h' inside `htop`) for a list of supported key commands.
101
102## Support
103
104If you have trouble running `htop` please consult your Operating System / Linux distribution documentation for getting support and filing bugs.
105
106## Bugs, development feedback
107
108We have a [development mailing list](https://htop.dev/mailinglist.html). Feel free to subscribe for release announcements or asking questions on the development of htop.
109
110You can also join our IRC channel #htop on freenode and talk to the developers there.
111
112If you have found an issue with the source of htop, please check whether this has already been reported in our [Github issue tracker](https://github.com/htop-dev/htop/issues).
113If not, please file a new issue describing the problem you have found, the location in the source code you are referring to and a possible fix.
114
115## History
116
Daniel Lange66460302020-09-17 09:45:53 +0200117`htop` was invented, developed and maintained by Hisham Muhammad from 2004 to 2019. His [legacy repository](https://github.com/hishamhm/htop/) has been archived to preserve the history.
Daniel Lange3a1c6982020-09-16 17:54:25 +0200118
119In 2020 a [team](https://github.com/orgs/htop-dev/people) took over the development amicably and continues to maintain `htop` collaboratively.
Tomas Bartond408c742016-02-11 14:59:45 +0100120
Tomas Bartond408c742016-02-11 14:59:45 +0100121## License
122
123GNU General Public License, version 2 (GPL-2.0)