I’m a ‘fessed up fan of btop, a colossally cool looking and comprehensive system monitoring utility accessed from the command line.

I included it in my list of the best command line tools because I genuinely think it’s one of the best command line tools available. It’s flashy, it’s fast, it’s interactive, you can customise the appearance, disable sections, filter processes speedily, and so on.

Thing is this: while all of those bells and whistles are music to my ears they are a bit ‘too much’ for other.

So I want(ed an excuse) to highlight another command line system monitor that I dig using. I only discovered it recently — spying on Alan Pope has many advantages 👀 — but the second I saw it, I was smitten. It’s definitely one of those “too cool to not shoehorn into a post” apps.

It’s sort of like the midway point between the raw simplicity provided by the likes of top and htop and the visual flair™ put forward by btop++ (or any of its incarnations, e.g., bashtop, bpytop, etc).

Gotop is Good, Basically

The CLI app in question is gotop It’s a “terminal based graphical activity monitor, inspired by gtop and vtop, this time written in Go“, to quote its GitHub page.

I love that its very functional from the off. The default dashboard loaded by running gotop is well proportioned (and it adapts to smaller widths better than similar tools) and displays the most important stats you’d want to see when loading it up.

But if you want to go advanced you can. Gotop has a ton of customisation potential. You can adjust the default presentation, layout, widgets, colour scheme, etc either by passing a few arguments to the command or by editing/creating a configuration file.

I like it “as-is”, more of less as it shows:

  • CPU usage (per core as % and graph)
  • Disk usage (including % free)
  • CPU temperature
  • Memory usage
  • Network usage (graph + total received/transferred)
  • Process table (CPU + MEM)

When gotop is running you can smush the c key to re-order the process table by CPU usage, hit m to order the process table by the amount of memory in use; or press p to sort by PID. You can also kill processes (in varying degrees of severity) – press shift and ? to see information on how to do this.

To filter processes by name (i.e. so you can find a specific process) press / and then start typing the name of the process you’re looking for to find-as-you-type. process name. You can scale the CPU Usage graph by pressing h and l respectively.

For instance, you can get a lot more information by running:

gotop -l kitchensink

Want to try it out?

You can download the latest version of gotop from GitHub. It’s free, open source software available for most Unix-based systems, not just Linux. A prepackaged .deb installer is provided but I couldn’t get it to install happily on Ubuntu 22.04 LTS so I used the 64bit binary instead, it works fine.

Give it a go and let me know what you think!

cli command line Go gotop system terminal apps