Tuesday, September 4, 2012

Understanding the Top command on Linux

Know what is happening in “real time” on your systems is in my
opinion the basis to use and optimize your OS. On ArchLinux or better on
GNU/Linux in general the top command can help us, this is a
very useful system monitor that is really easy to use, and that can
also allows us to understand why our OS suffers and which process use
most resources. The command to be run on the terminal is:

$ top

And we’ll get a screen similar to the one on the right:
Let’s see now every single row of this output to explain all the information found within the screen.

1° Row — top

This first line indicates in order:

current time (11:37:19)

uptime of the machine (up 1 day, 1:25)

users sessions logged in (3 users)

average load on the system (load average: 0.02, 0.12, 0.07) the 3 values refer to the last minute, five minutes and 15 minutes.

2° Row – task

The second row gives the following information:

Processes running in totals (73 total)

Processes running (2 running)

Processes sleeping (71 sleeping)

Processes stopped (0 stopped)

Processes waiting to be stoppati from the parent process (0 zombie)

3° Row – cpu

The third line indicates how the cpu is used. If you sum up all the
percentages the total will be 100% of the cpu. Let’s see what these
values indicate in order:

The amount of CPU ‘stolen’ from this virtual machine by the
hypervisor for other tasks (such as running another virtual machine)
this will be 0 on desktop and server without Virtual machine. (0.0%st — Steal Time)

4° and 5° Rows – memory usage

The fourth and fifth rows respectively indicate the use of physical
memory (RAM) and swap. In this order: Total memory in use, free, buffers
cached. On this topic you can also read the following article

Following Rows — Processes list

And as last thing ordered by CPU usage (as default) there are the
processes currently in use. Let’s see what information we can get in the
different columns:

Conclusions

Now that we have seen in detail all the information that the command
“top” returns, it will be easier to understand the reason of excessive
load and/or the slowing of the system.
A good alternative to “ TOP ” is “ HTOP “, an evolution of top with features really amazing.