If you’re looking for the perfect task manager, the following list should be helpless.  

top

“ top ” is one of the most popular task managers used for a lot of Linux users. You can use it in any Linux distro, just open a terminal emulator and type “ top ”. I think that “ top ” is a great task manager because it shows you important information like the total number of tasks, CPU usage, ram usage, free ram, swap usage, etc.​When you start “ top ”, you can move the history of processes using alt + k (move up) and alt + j (move down). If you want to know more about how to use “ top ”, you can type the following command in a terminal: man top.

htop

htop is an interactive system-monitor process-viewer. It is designed as an alternative to the Unix program top. It shows a frequently updated list of the processes running on a computer, normally ordered by the amount of CPU usage. Unlike top, htop provides a full list of processes running, instead of the top resource-consuming processes. htop uses color and gives visual information about processor, swap and memory status.​Htop isn’t included in all Linux distros, so, if you want to use it, you must install it using the package manager of your system. If you want to know about how to use htop, you can see the documentation typing the following command: man htop.  

Gnome System Monitor

It is one of the most popular task managers with the graphical interface in Linux, you can find it in the Gnome desktop environment or other Gnome fork. This task manager has several features because it is not only a task manager. You can see the status of the storage of all devices, check the status of the memory and swap, and also you can get information about network status.

LXTask

If you’re using Lxde as desktop environment, surely you are using LXTask as your task manager. It’s the default task manager for Lxde and it has some advantages. LXTask is very lightweight and simple, if you’re looking for a basic task manager, it’s your solution.

XFCE4 Task Manager

The Xfce desktop environment is one of my favorites, it has its own task manager. This task manager is lightweight and it should be enough for a basic monitoring of resources.​Features:

Support for Linux, OpenBSD, NetBSD, FreeBSD, and OpenSolaris.Monitors the CPU and memory usage.Tree view columns can be reordered.View processes as a tree.Display window icons/names.Customizable with some settings.Filter process list on process names.

Conky

Conky is a system monitor software for the X Window System. It is available for GNU/Linux and FreeBSD. It is free software released under the terms of the GPL license. Conky is able to monitor many system variables including CPU, memory, swap, disk space, temperature, top, upload, download, system messages, and much more. One advantage of conky is that is doesn’t depend on the desktop environment and you can install it in any Linux distro.

Mate System Monitor

It’s a great task manager included in the MATE desktop environment, if you’re using MATE you can use it easily. It’s very similar to gnome task manager, especially talking about Gnome 2.

ps

“ ps ” isn’t a task manager, but you can use it to see the processes status and manage your system. For example, if you want to see the processes of a specific user, type the following:

$ ps -u user_name

pstree

It’s another command to see the processes status, it has many useful features and if you want to know more about it just type man pstree at your terminal. One advantage of pstree, is that it’s included in all Linux distros.

KSysGuard

KSysGuard is the default task manager of the KDE desktop environment, it has useful features similar to gnome task manager. Also, you can use it in another desktop environment, for example XFCE.

Conclusion

I think that the best task manager for me is htop, but you can use whatever you prefer. If you’re a new Linux user you should use Gnome System Monitor or may be KSysGuard, but If you’re an experimented Linux user I think that htop, ps, and pstree are for you.