You can support us by downloading this article as PDF from the Link below. Download the guide as PDF

Hello good people. Linux monitoring is a crucial activity for any systems administrator. I know that having the right tools for this purpose is not an easy task. In this article, we’ll look at the Linux top command alternative called gotop.

Gotop is a terminal based graphical activity monitor inspired by gtop. I’ll cover gtop installation in a different article. Unlike Gtop which is written in Node.js, gotop is written in Golang.

Installing gotop on Linux – CentOS, Ubuntu e.t.c

Since gotop is distributed as a binary package, there is no prerequisite apart from git and curl packages which you can easily install on your Linux distribution.

Install git and curl on CentOS / Fedora

# yum -y install git curl

Installing git and curl on Ubuntu / Debian

# apt-get -y install git curl

Clone gotop source from Github.

# git clone git clone --depth 1 https://github.com/cjbassi/gotop.git
Cloning into 'gotop'...
remote: Counting objects: 603, done.
remote: Compressing objects: 100% (460/460), done.
remote: Total 603 (delta 140), reused 463 (delta 123), pack-reused 0
Receiving objects: 100% (603/603), 1.19 MiB | 3.46 MiB/s, done.
Resolving deltas: 100% (140/140), done.

Navigate to the gotop directory and run auto-installer script.

# cd gotop
# ./download.sh

The script will download a gotop binary for your Linux CPU architecture. Supported architectures are:

 ./download.sh 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   619    0   619    0     0    926      0 --:--:-- --:--:-- --:--:--   928
100  967k  100  967k    0     0   323k      0  0:00:02  0:00:02 --:--:--  483k

The command above will download the latest stable archive and extract it. You should see a binary package named gotop in your current directory, you need to copy this to a path in your $PATH.

# echo $PATH
# cp gotop /usr/local/bin
# cd
# which gotop
/usr/local/bin/gotop

To run gotop, just type the name of the command on your terminal shell:

# gotop

This will run gotop with the default command options. You should get a screen like below:

The help page can be accessed from:

# gotop --help
Usage: gotop [options]Options:
  -c, --color=NAME      Set a colorscheme.
  -h, --help            Show this screen.
  -m, --minimal         Only show CPU, Mem and Process widgets.
  -r, --rate=RATE       Number of times per second to update CPU and Mem widgets [default: 1].
  -v, --version         Show version.

Colorschemes:
  default
  default-dark (for white background)
  solarized
  monokai

From above help screen, you can pass some options to filter output you get. E.g

Check currently installed version:

# gotop -v
1.2.14

Show minimal output, i.e CPU and RAM usage stats using:

# gotop --minimal

The output should be similar to below:

Gotop key bindings

q or <Ctrl-c> : Used to quit gotop program
<up>/<down> and j/k: Navigate up and down
<Ctrl-d> and <Ctrl-u>: up and down half a page
<Ctrl-f> and <Ctrl-b>: up and down a full page
gg and G: Jump to top and bottom

<tab>: toggle process grouping
dd: kill the selected process or process group
h and l: zoom in and out of CPU and Mem graphs
?: toggles keybind help menu

You can also do sorting based on memory or cpu usage:

c: Sort based on CPU utilization
m: Sort based on Memory usage
p: Sort based PID

The color schemes for gotop are available under the colorschemes directory:

# ls colorschemes/
default_dark.go monokai.go solarized.go template.go
default.go monokai.png solarized.png

You can set a different Colorscheme can be set with the -c flag followed its name, e.g

# gotop -c monokai

It should start gotop with monokai colorscheme.

That’s all for today. Enjoy using a gotop command for easy to visualize process monitoring and your server compute resource utilization.

You can support us by downloading this article as PDF from the Link below. Download the guide as PDF