This is the second in our series of articles highlighting essential system tools. These are small utilities, useful for system administrators as well as regular users of Linux based systems. The series examines both graphical and text based open source utilities. For details of all tools in this series, please check the table in the summary section.
We previously covered ps_mem, a really useful memory utility. This time, another console utility is under the spotlight. It’s called gtop.
git clone https://github.com/aksakalli/gtop.git
sudo npm install gtop -g
Voilà! gtop is installed.
Snaps are universal software packages. If you prefer using snaps, there’s a snap available which can be installed at a shell:
sudo snap install --edge gtop --devmode
You’ll need to append the -devmode flag as the publisher considers the snap is meant for development or testing only.
Unusually for text-based software, gtop doesn’t have any command-line options.
Here’s example output of gtop.
As you can see, there are sections illustrating CPU usage history, memory and swap history, network history, as well as a process table showing running processes detailing CPU and RAM usage for each process.
The process table can be sorted by process, CPU usage, or memory usage. In the example above, the process table is sorted by CPU usage.
What sets gtop apart from htop and top. Well, you’ll notice the useful graph history of your CPU usage, memory and swap. At a glance, you receive practical information about what’s been happening on your system, rather than a mere current snapshot. If you like dashboards, you’ll like gtop.
Look at the amount of memory consumed by top and htop when compared to gtop (gtop is the node line). gtop uses over 100MB of RAM. And it guzzles cpu cycles on machines with feeble processors, such as popular single-board computers.
If your system has a frugal dollop of RAM or a feeble CPU, I’d recommend htop rather than gtop. gtop is also missing some useful functionality such as killing, filtering and searching processes, and there’s no configuration options. But the software offers a very different perspective to the state of a system, and complements htop rather splendidly.
All the essential tools in this series:
|Essential System Tools|
|ps_mem||Accurate reporting of software's memory consumption|
|gtop||System monitoring dashboard|
|pet||Simple command-line snippet manager|
|Alacritty||Innovative, hardware-accelerated terminal emulator|
|inxi||Command-line system information tool that's a time-saver for everyone|
|BleachBit||System cleaning software. Quick and easy way to service your computer|
|catfish||Versatile file searching software|
|journalctl||Query and display messages from the journal|
|Nmap||Network security tool that builds a "map" of the network|
|ddrescue||Data recovery tool, retrieving data from failing drives as safely as possible|
|Neofetch||System information tool written in Bash|
|Timeshift||Similar to Windows' System Restore functionality, Time Machine Tool in Mac OS|
|GParted||Resize, copy, and move partitions without data|
|Clonezilla||Partition and disk cloning software|
|fdupes||Find or delete duplicate files|
|Krusader||Advanced, twin-panel (commander-style) file manager|
|nmon||Systems administrator, tuner, and benchmark tool|
|f3||Detect and fix counterfeit flash storage|
|QJournalctl||Graphical User Interface for systemd’s journalctl|
|QDirStat||Qt-based directory statistics|
|Firejail||Restrict the running environment of untrusted applications|
|VeraCrypt||Strong disk encryption software|
|Unison||Console and graphical file synchronization software|
|hyperfine||Command-line benchmarking tool|
|TLP||Must-have tool for anyone running Linux on a notebook|
|nnn||Portable terminal file manager that's amazingly frugal|
|Glances||Cross-platform system monitoring tool written in Python|
|CPU-X||System profiler with both a GUI and text-based|
|Ventoy||Create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files|
|Fail2ban||Ban hosts that cause multiple authentication errors|
|dust||More intuitive version of du written in Rust|
|Pingnoo||Graphical representation for traceroute and ping output|