Monitoring Server Processes With Top

Posted on by J. Mays
Reading Time: 2 minutes

The top program provides a dynamic real-time view of a running system. It can display system summary information as well as a list of tasks currently being managed by the Linux kernel. The types of system summary information shown and the types, order and size of information displayed for tasks are all user configurable.

Top provides an ongoing look at processor activity in real time. It displays a listing of the most CPU-intensive tasks on the system, and can provide an interactive interface for manipulating processes. It can sort the tasks by CPU usage, memory usage and runtime. can be better configured than the standard top from the procps suite. Most features can either be selected by an interactive command or by specifying the feature in the personal or system-wide configuration file.

Below is an example of what top will look like on an active server:

top - 10:42:15 up 6 days, 11:49,  4 users,  load average: 1.11, 0.81, 0.81
Tasks: 254 total,   2 running, 250 sleeping,   0 stopped,   2 zombie
Cpu(s): 14.6% us,  2.3% sy,  0.0% ni, 76.7% id,  6.1% wa,  0.0% hi,  0.3% si
Mem:   4043040k total,  3886812k used,   156228k free,   161988k buffers
Swap:  2040244k total,  1220276k used,   819968k free,  1506020k cached
PID     USER     PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
23611  nobody    16   0  143m  33m 3352 S  1.9  0.8   0:05.80 httpd
25816  root      16   0 51056  636  472 S  1.9  0.0   0:00.10 find
25932  nobody    16   0  140m  30m 3116 S  1.9  0.8   0:00.97 httpd
26142  root      15   0  6300 1184  768 R  1.9  0.0   0:00.01 top
26144  root      18   0 51400  964  556 R  1.9  0.0   0:00.01 egrep
1      root      16   0  4772  444  412 S  0.0  0.0   0:46.31 init
2      root      RT   0     0    0    0 S  0.0  0.0   0:02.75 migration/0
3      root      34  19     0    0    0 S  0.0  0.0   0:02.13 ksoftirqd/0
4      root      RT   0     0    0    0 S  0.0  0.0   0:03.29 migration/1
5      root      34  19     0    0    0 S  0.0  0.0   0:01.98 ksoftirqd/1
6      root      RT   0     0    0    0 S  0.0  0.0   0:03.37 migration/2
7      root      34  19     0    0    0 S  0.0  0.0   0:01.73 ksoftirqd/2

The important information that can be gleaned from this is: load average, total running processes(tasks), cpu usage, memory usage, swap usage, and the processing using the most CPU time.  For this example, an Apache process is the one using the most CPU.

If you want to sort the running processes by memory usage, while in top just hit m. This is an interactive command that will change how top sorts processes.

Some of the other flags that can be used include:

top -c This will show the entire command that is running, not just the short name

Avatar for J. Mays

About the Author: J. Mays

As a previous contributor, JMays shares his insight with our Knowledge Base center. In our Knowledge Base, you'll be able to find how-to articles on Ubuntu, CentOS, Fedora and much more!

Latest Articles

Blocking IP or whitelisting IP addresses with UFW

Read Article

CentOS Linux 7 end of life migrations

Read Article

Use ChatGPT to diagnose and resolve server issues

Read Article

What is SDDC VMware?

Read Article

Best authentication practices for email senders

Read Article