This article is the continuation of our Linux system monitoring series, today we’re talking about the most popular monitoring tool called htop, which is just reached to version 2.2.0 and comes with some cool new features.

Htop is an interactive real-time process monitoring application for Linux/Unix like systems and also a handy alternative to top command, which is a default process monitoring tool that comes with pre-installed on all Linux operating systems.
Htop has numerous other user-friendly features, which are not available under the top command and they are:
- In htop you can scroll vertically to view the full process list and scroll horizontally to view the full command lines.
- It starts very quickly as compared to the top, because it doesn’t wait to fetch data during startup.
- In htop you can kill more than one process at once without inserting their PIDs.
- In htop you no longer needed to enter process number or priority value to re-nice a process.
- Press “e” to print the set of environment variables for a process.
- Use the mouse to select list items.
Install Htop Using Binary Packages in Linux
To install Htop on RHEL 8/7/6/5 and CentOS 8/7/6/5, your system must have EPEL repository installed and enabled, to do so run the following commands on your respective distributions to install and enable it for your system architecture (32bit or 64bit).
On RHEL/CentOS – 32-bit OS
-------------- For RHEL/CentOS 6 -------------- # wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -ihv epel-release-6-8.noarch.rpm -------------- For RHEL/CentOS 5 -------------- # wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm # rpm -ihv epel-release-5-4.noarch.rpm
On RHEL/CentOS – 64-bit OS
-------------- For RHEL/CentOS 8 -------------- # yum install epel-release [CentOS 8] # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [RHEL 8] -------------- For RHEL/CentOS 7 -------------- # yum install epel-release -------------- For RHEL/CentOS 6 -------------- # wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ihv epel-release-6-8.noarch.rpm -------------- For RHEL/CentOS 5 -------------- # wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm # rpm -ihv epel-release-5-4.noarch.rpm
Once the EPEL repository has been installed, you can hit the following yum command to fetch and install the htop package as shown.
# yum install htop
On Fedora OS
Fedora users can easily install htop using Fedora Extras repository by typing:
# yum install htop # dnf install htop [On Fedora 22+ releases]
On Debian and Ubuntu
In Debian and Ubuntu, you can fetch htop by typing:
# sudo apt-get install htop
Compile and Install Htop from Source Packages
To install Htop 2.2.0 version, you must have Development Tools and Ncurses installed on your system, to do so run the following series of commands on your respective distributions.
On RHEL/CentOS and Fedora
# yum groupinstall "Development Tools" # yum install ncurses ncurses-devel # wget http://hisham.hm/htop/releases/2.2.0/htop-2.2.0.tar.gz # tar xvfvz htop-2.2.0.tar.gz # cd htop-2.2.0
On Debian and Ubuntu
$ sudo apt-get install build-essential $ sudo apt-get install libncurses5-dev libncursesw5-dev $ wget http://hisham.hm/htop/releases/2.2.0/htop-2.2.0.tar.gz $ tar xvfvz htop-2.2.0.tar.gz $ cd htop-2.2.0
Next, run the configure and make a script to install and compile htop.
# ./configure # make # make install
How do I use htop?
Now run the htop monitoring tool by executing the following command on the terminal.
# htop
Htop is having three sections mainly
- Header, where we can see info like CPU, Memory, Swap and also shows tasks, load average, and Up-time.
- List of processes sorted by CPU utilization.
- Footer shows different options like help, setup, filter tree kill, nice, quit, etc.

Press F2 or S for setup menu > there are four columns i.e Setup, Left Column, Right Column, and Available Meters.
Here, you can configure the meters printed at the top of the window, set various display options, select among color patterns and choose which columns are printed in which order.

Type tree or t to display processes tree view.

You can refer function keys displayed at the footer to use this nifty htop application to monitor Linux running processes. However, we advise to use character keys or shortcut keys instead of function keys as it may have mapped with some other functions during secure connection.
Htop Shortcut and Function Keys
Some of the shortcut and function keys and their functionality to interact with htop.

The mentioned method for installing EPEL doesn’t work on CentOS 7 now. The following method works fine:
@Abdollah,
Thanks for the suggestion, I have updated the article…
The latest version of EPEL repository can be installed directly via yum command on RHEL/CentOS 7 systems, using:
Reference: https://fedoraproject.org/wiki/EPEL
Did you forget step of epel.repo file configuration? because we need to make changes into configuration file.
@Madhav,
May I know like what configuration changes for epel.repo? Could you share with us?
I just kept this part out of newly created epel.repo config file, before that, there were some errors in result of:
@Madhav,
Thanks for sharing, hope it will help other users who face similar error..
I found an even easier way to install Epel before yum install htop:
Instead of this:
I just tried this:
it seems to work.
@Philip,
Yeah thanks for sharing, never though the we could install epel this way…:)
Yeah thanks for sharing mate
Can Htop capture cpu process usage on certain period of time what are the process running that cause cpu spike on certain period.
@Daud,
No it can’t capture CPU usage on certain time, its main purpose is to show top running processes, but you can certainly Limit and Control CPU Utilization of Linux Processes Using CPUTool.
New link for centos 7: http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
@Alx,
Thanks, updated the EPEL link..
CentOS/RHEL 7
New package epel-release-7-10.noarch.rpm
https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
@Sammons,
Thanks for the updated link, corrected in the writeup.
For CentOS/RHEL 7 the package name now is epel-release-7-9.noarch.rpm https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
I got this error while MAKE
htop-ScreenManager.o: In function `ScreenManager_run’:
/root/htop-2.0.2/ScreenManager.c:192: undefined reference to `set_escdelay’
htop-InfoScreen.o: In function `InfoScreen_run’:
/root/htop-2.0.2/InfoScreen.c:120: undefined reference to `set_escdelay’
collect2: ld returned 1 exit status
make[1]: *** [htop] Error 1
make[1]: Leaving directory `/root/htop-2.0.2′
make: *** [all] Error 2
@Bilal,
On which Linux distribution you are trying to install Htop? have you installed all the required libraries? I mean development tools before compiling htop?
Thank you for this tool…
Bon article !