blob: 609c2795832e6685f2505006a24ae80a755929eb [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)
6[![IRC #htop](https://img.shields.io/badge/IRC-htop-blue.svg)](https://webchat.freenode.net/#htop)
7[![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*
61 * `--enable-setuid`:
62 enable setuid support for privilege dropping
63 default: *no*
Christian Göttsche575edff2021-01-22 19:14:59 +010064 *`--enable-static`:
65 build a static htop binary; hwloc and delay accounting are not supported
66 default: *no*
Christian Göttsche5e103ff2021-01-22 19:14:46 +010067 * `--enable-debug`:
68 Enable asserts and internal sanity checks; implies a performance penalty
69 default: *no*
70
71#### Linux
72
73 * `--enable-sensors`:
74 enable libsensors(3) support for reading temperature data
75 dependencies: *libsensors-dev*(build-time), at runtime *libsensors* is loaded via `dlopen(3)` if available
76 default: *check*
77 * `--enable-capabilities`:
78 enable Linux capabilities support
79 dependency: *libcap*
80 default: *check*
81 * `--with-proc`:
82 location of a Linux-compatible proc filesystem
83 default: */proc*
84 * `--enable-openvz`:
85 enable OpenVZ support
86 default: *no*
87 * `--enable-vserver`:
88 enable VServer support
89 default: *no*
90 * `--enable-ancient-vserver`:
91 enable ancient VServer support (implies `--enable-vserver`)
92 default: *no*
93 * `--enable-linux-affinity`:
94 enable Linux `sched_setaffinity(2)` and `sched_getaffinity(2)` for affinity support; conflicts with hwloc
95 default: *check*
96 * `--enable-delayacct`:
97 enable Linux delay accounting support
98 dependencies: *pkg-config*(build-time), *libnl-3* and *libnl-genl-3*
99 default: *check*
100
101## Usage
102
Daniel Lange3a1c6982020-09-16 17:54:25 +0200103See the manual page (`man htop`) or the on-line help ('F1' or 'h' inside `htop`) for a list of supported key commands.
104
105## Support
106
107If you have trouble running `htop` please consult your Operating System / Linux distribution documentation for getting support and filing bugs.
108
109## Bugs, development feedback
110
111We 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.
112
113You can also join our IRC channel #htop on freenode and talk to the developers there.
114
115If 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).
116If 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.
117
118## History
119
Daniel Lange66460302020-09-17 09:45:53 +0200120`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 +0200121
122In 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 +0100123
Tomas Bartond408c742016-02-11 14:59:45 +0100124## License
125
126GNU General Public License, version 2 (GPL-2.0)