Using the Linux Top Command

Linux Top Command
Linux Top Command.

Introduction

The Linux top command is used to show all the running processes within your Linux environment. This guide shows you how to use the top command by explaining the different switches available and the information that is displayed:

How To Run The Top Command

In its basic form all you need to do to show the current processes is type the following in a Linux terminal:

top

What Information Is Shown:

The following information is displayed when you run the Linux top command:

Line 1:

  • The time
  • How long the computer has been running
  • Number of users
  • Load average

The load average shows the system load time for the last 1, 5 and 15 minutes.

Line 2:

 

Line 3:

  • CPU usage as a percentage by the user
  • CPU usage as a percentage by system
  • CPU usage as a percentage by low priority processes
  • CPU usage as a percentage by idle processes
  • CPU usage as a percentage by io wait
  • CPU usage as a percentage by hardware interrupts
  • CPU usage as a percentage by software interrupts
  • CPU usage as a percentage by steal time

This guide gives a definition of what CPU usage means.

Line 3:

Line 4:

  • Total swap available
  • Total swap free
  • Total swap used
  • available memory

This guide gives a description of swap partitions and whether you need them.

Main table:

  • Process ID
  • User
  • Priority
  • Nice level
  • Virtual memory used by process
  • Resident memory used by a process
  • Shareable memory
  • CPU used by process as a percentage
  • Memory used by process as a percentage
  • Time process has been running
  • Command

Here is a good guide discussing computer memory.

Keep Linux Top Running All The Time In The Background

You can keep the top command easily available without having to type the word top each time into your terminal window.

To pause top so that you can continue using the terminal, press CTRL and Z on the keyboard.

To bring top back to the foreground, type fg.

Key Switches For The Top Command:

  • -h - Show the current version
  • -c - This toggles the command column between showing command and program name
  • -d - Specify the delay time between refreshing the screen
  • -o - Sorts by the named field
  • -p - Only show processes with specified process IDs
  • -u - Show only processes by the specified user

Show The Current Version

Type the following to show the current version details for top:

top -h

Output is in the form procps -ng version 3.3.10

Specify A Delay Time Between Screen Refreshes

To specify a delay between the screen refreshes whilst using top type the following:

top -d <number of seconds>

To refresh every 5 seconds type top -d 5

Obtain A List Of Columns To Sort By

To get a list of the columns with which you can sort the top command by type the following:

top -O

There are a lot of columns so you might wish to pipe the output to less as follows:

top -O | less

Sort The Columns In The Top Command By A Column Name

Use the previous section to find a column to sort by and then use the following syntax to sort by that column:

top -o <columnname>

To sort by %CPU type the following:

top -o %CPU

Only Show The Processes For A Specific User

To show only the processes that a specific user is running use the following syntax:

top -u <username>

For example to show all the processes that the user gary is running type the following:

top -u gary

Adding Extra Columns To The Top Display

Whilst running top you can press the 'F' key which shows the list of fields that can be displayed in the table:

Use the arrow keys to move up and down the list of fields.

To set a field so that it is displayed on the screen press the 'D' key. To remove the field press "D" on it again. An asterisk (*) will appear next to displayed fields.

You can set the field to sort the table by simply by pressing the "S" key on the field you wish to sort by.

Press the enter key to commit your changes and press "Q" to quit.

Toggling Modes

Whilst running top you can press the "A" key to toggle between the standard display and an alternate display.

Changing Colors

Press the "Z" key to change the colors of the values within top.

There are three stages required to change the colors:

  1. Press either S for summary data, M for messages, H for column headings or T for task information to target that area for a color change
  2. Choose a color for that target, 0 for black, 1 for red, 2 for green, 3 for yellow, 4 for blue, 5 for magenta, 6 for cyan and 7 for white
  3. Enter to commit

Press the "B" key to make text bold.

Summary

There are more switches available and you can read more about them by typing the following into your terminal window:

man top

More From Us