htop-dev /htop

htop - an interactive process viewer

★ 8,440⑂ 661👁 63⑃ 1,167● 820▤ 22
CCreated 2020-08-17htop.dev/
8,440
stars
+0+3+59
661
forks
63
watchers
1,167
prs
820
issues
22
releases
–
discussions

README

!Screenshot of htop

 Introduction

htop is a cross-platform interactive process viewer.

htop allows scrolling the list of processes vertically and horizontally to see their full command lines and related information like memory and CPU consumption.
Also system wide information, like load average or swap usage, is shown.

The information displayed is configurable through a graphical setup and can be sorted and filtered interactively.

Tasks related to processes (e.g. killing and renicing) can be done without entering their PIDs.

Running htop requires ncurses libraries, typically named libncurses(w).

htop is written in C.

For more information and details visit htop.dev.

 Usage
See the manual page (man htop) or the help menu (h or F1 inside htop) for a list of supported key commands.

 Quick Start

Some common actions to get you started with htop

- Search processes: press /
- Filter processes: press \
- Toggle tree view: press t
- Change process sort column: press .
- Kill a process: select the process and press k

 Build instructions

 Prerequisite
List of build-time dependencies:
   standard GNU autotools-based C toolchain
    - C99 compliant compiler
    - autoconf
    - automake
    - autotools
   ncurses

Note about ncurses:
 htop requires ncurses 6.0. Be aware the appropriate package is sometimes still called libncurses5 (on Debian/Ubuntu). Also ncurses usually comes in two flavours:
 With Unicode support.
 Without Unicode support.

 This is also something that is reflected in the package name on Debian/Ubuntu (via the additional 'w' - 'w'ide character support).

List of additional build-time dependencies (based on feature flags):
  pkg-config
  sensors
  hwloc
  libcap (v2.21 or later)
  libnl-3 and libnl-genl-3

pkg-config is optional but recommended. The configure script of htop might utilize pkg-config to obtain the compiler and linker flags required for a library. Some OS distributions provide pkg-config functionalities through an alternative implementation such as pkgconf. Look for both names in your package manager.

Install these and other required packages for C development from your package manager.

Debian/Ubuntu
~~~ shell
sudo apt install libncursesw5-dev autotools-dev autoconf automake build-essential
~~~

Fedora/RHEL
~~~ shell
sudo dnf install ncurses-devel automake autoconf gcc
~~~

OpenSUSE/SLES
~~~ shell
sudo zypper install ncurses-devel ncurses-devel-static automake autoconf gcc make glibc-devel glibc-devel-static
~~~

Archlinux/Manjaro
~~~ shell
sudo pacman -S --needed base-devel ncurses
~~~

macOS
~~~ shell
brew install ncurses automake autoconf gcc
~~~

 Compile from source:
To compile from source, download from the Git repository (git clone or downloads from GitHub releases), then run:
~~~ shell
./autogen.sh && ./configure && make
~~~

 Install
To install on the local system run make install. By default make install installs into /usr/local. To change this path use ./configure --prefix=/some/path.

 Build Options

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON