One of the essential tools in any Linux distribution is a Task Manager. It is a system monitor application that gives you a report of all programs running on your computer and the status of your RAM and CPU usage.
It also comes in handy when you need to kill/stop freezing processes or applications that are consuming too many system resources. With advanced task-manager tools, you can even change the scheduling priority.
There are many Linux task manager programs available in the market today. Furthermore, every Linux distribution comes with a preinstalled task manager program depending on the Desktop environment.
We have both CLI (Command Line) and GUI task-manager programs. With CLI, these programs run on the Linux terminal and give you a full report of all running applications. You can stop running programs by running a command like “kill 13356”, which means; kill a process with id 13356. For GUI task-managers, these programs provide the user with an interactive graphical user interface.
In this post, we will look at both CLI based task-managers and GUI based task-managers.
CLI-based Linux Task Managers
Most Linux users like command-line tools. Since you don’t need to load a GUI, these tools consume fewer system resources and load much faster. Also, if you are a server admin, you need to use a CLI based task manager.
1. Top
“top” is one of the most common task managers used by Linux users. Unlike other tools, the top task-manager comes preinstalled on all Linux distributions. You can launch it by just typing the word “top” on the terminal. It gives you a dynamic view of all the programs running on the computer with other parameters like; user running the process, process-id, CPU usage, memory(RAM) utilization, and more. You can kill running processes using the kill command and PID (process id); kill -p 13356 or kill -9 13356 if it’s a persistent process.
To navigate up and down the top window, use (alt + k) to scroll up and (alt + j) to scroll down. For beginners, type the command “man top,” and it will give you all details and guidelines to using top.
2. Glances
“glances” is a cross-platform task manager written in python. It makes use of open architecture in that, and developers can add their custom plugins. Unlike most other system monitoring tools, glances make use of a client-server architecture, which enables remote monitoring of a system. It is achieved via an interactive web UI, terminal (command line), or through an API (XML-RPC and RESTful).
With glances, you can also view additional information like; upload and download internet speeds, Disk read and write details, and the mounted disks/drives.
Glances use different colors to list the process running with “red,” indicating a process consuming much of the system resources.
3. Htop
“htop” is quite similar to Top only with several additional features. Unlike Top, Htop allows you to scroll both vertically and horizontally. You can, therefore, view all running processes together with their command-line parameters.
Htop also makes use of several Function keys displayed at the bottom, with each one performing different tasks. To start this system monitoring tool, type the command “htop” in the command-line. You can also add different parameters to this command.
E.g., htop -u –user=USERNAME, shows only the process under a particular user.
Other popular CLI task managers available are ps and, pstree.
GUI-based Linux Task Managers
We have looked at some of CLI based task managers, now let’s put our focus on GUI based system monitor tools. These tools come with an interactive user interface that displays all activities taking place in the system.
1. Gnome System Monitor
This tool is one of the many software by GNOME family. It comes available with all Linux distributions that make use of the GNOME desktop. At the top of this application, there are three primary tabs, Processes, Resources, and File Systems. You can navigate around by clicking on any of these buttons.
GNOME gives system information like all running processes and their properties, CPU-Memory-Network and swap memory usage, mounted disks, and available space.
2. Mate System Monitor
Just like the GNOME system monitor, the Mate task manager is a default tool for any Linux distributions using the Mate desktop environment. It allows you to monitor and manage all running processes on your system. It also generates a general view on Memory usage, CPU utilization, and network usage.
With the Mate system monitor, you can identify processes and kill or stop them in case. You can also change process priority as you wish.
3. KSysGuard
KSysGuard is the default system monitor tool for the KDE desktop environment. It supports both GUI and CLI user interaction.
With its advanced Client/Server architecture, KSysGuard can be used to monitor the system on a remote machine. KSysGuard is regarded as a powerful task manager since you can kill/stop any persistent/problematic process with ease.
Conclusion
In this post, we looked at both CLI and GUI based task managers. For experienced Linux users and network/system administrators, you can use command-line based task-managers.
These tools have the advantage of not using much system resources, and some of the parameters used can be passed using scripts like bash or python. Otherwise, you can go for GUI-based task managers.
2 comments
hi,
Well nothing beats the cli tools if want to go deep down. But when its come to ease of use then nothing GUI is best.
I myself made a Linux system monitor which is a lot similar to windows task manager to aim the simplicity and each of use and no compromising the details.
check out the repo:
https://github.com/KrispyCamel4u/SysMonTask
Suggestions are most welcome and if any one can review it that would be awesome.
Thanks
Well Linux suffers from CLI configuration. I know the sysadmins love to use CLI, but it was good when internet connections speed averaged around 1Mb/s. Now with FTTH XWindow session is not a problem, but linux apps still dwell in text mode and most of the apps do not even have gui and ones that have, do not have the ease of use and productivity of gui counterparts of Windows or MacOS. Just look at Winows Task Manager or Mac Activity Monitor. Gnome System Monitor, KSysGuard look really poor in comparison.