- 15 simple TOP command examples on Linux to monitor processes
- Linux TOP command
- Note your «top» command variant
- 1. Display processes
- 2. Sort by Memory/Cpu/Process ID/Running Time
- 3. Reverse the sorting order — ‘R’
- 4. Highlight the sorted column with bold text — ‘x’
- 5. Highlight sorted column background color ‘b’
- 6. Change the update delay — ‘d’
- 7. Filter or Search processes — ‘o’/’O’
- 8. Display full command path and arguments of process — ‘c’
- 9. View processes of a user — ‘u’/’U’
- 10. Toggle the display of idle processes — ‘i’
- 11. Hide/Show the information on top — ‘l’, ‘t’, ‘m’
- 12. Forest mode — ‘V’
- 13. Change the number of processes to display — ‘n’
- 14. Display all CPU cores — ‘1’
- 15. Show/Hide columns ‘f’
- 16. Batch mode
- 17. Split output in multiple panels — ‘A’
- Conclusion
- 10 thoughts on “ 15 simple TOP command examples on Linux to monitor processes ”
- 16 Top Command Examples in Linux [Monitor Linux Processes]
- 1. List All Running Linux Processes
- 2. Sort Linux Processes by PID
- 3. Sort Linux Processes by Memory and CPU Usage
- 4. Sort Linux Processes by Running Time
- 5. Display Linux Processes By Specific User
- 6. Highlight Running Process in Top
- 7. List Absolute Path of Running Linux Processes
- 8. Set Refresh Interval for Top Command
- 9. Kill Running Linux Process Using Top Command
- 10. Sort Linux Processes by CPU Utilisation
- 11. Renice a Linux Process
- 12. Check Linux CPU Cores
- 13. Save Top Command Results in File
- 14. List Linux Idle Processes
- 15. Getting Top Command Help
- 16. Exit Top Command After Specific Repetition
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- Related Posts
- 80 thoughts on “16 Top Command Examples in Linux [Monitor Linux Processes]”
- Got something to say? Join the discussion. Cancel reply
15 simple TOP command examples on Linux to monitor processes
Linux TOP command
One of the most basic command to monitor processes on Linux is the top command. As the name suggests, it shows the top processes based on certain criterias like cpu usage or memory usage.
The processes are listed out in a list with multiple columns for details like process name, pid, user, cpu usage, memory usage.
Apart from the list of processes, the top command also shows brief stats about average system load, cpu usage and ram usage on the top.
This post shows you some very simple examples of how to use the top command to monitor processes on your linux machine or server.
Note your «top» command variant
Be aware that the top command comes in various variants and each has a slightly different set of options and method of usage.
To check your top command version and variant use the -v option
This post focuses on the top command coming from the procps-ng project. This is the version available on most modern distros like Ubunut, Fedora, CentOS etc.
1. Display processes
To get a glimpse of the running processes, just run the top command as is without any options like this.
And immediately the output would be something like this —
The screen contains a lot of information about the system. The header areas include uptime, load average, cpu usage, memory usage data.
The process list shows all the processes with various process specific details in separate columns.
Some of the column names are pretty self explanatory.
PID — Process ID
USER — The system user account running the process.
%CPU — CPU usage by the process.
%MEM — Memory usage by the process
COMMAND — The command (executable file) of the process
2. Sort by Memory/Cpu/Process ID/Running Time
To find the process consuming the most cpu or memory, simply sort the list.
Press M key ( yes, in capital, not small ) to sort the process list by memory usage. Processes using the most memory are shown first and rest in order.
Here are other options to sort by CPU usage, Process ID and Running Time —
Press ‘P’ — to sort the process list by cpu usage.
Press ‘N’ — to sort the list by process id
Press ‘T’ — to sort by the running time.
3. Reverse the sorting order — ‘R’
By default the sorting is done in descending order. Pressing ‘R’ shall reverse the sorting order of the currently sorted column
Here is the output sorted in ascending order of cpu usage. Processes consuming the least amount of cpu are shown first.
4. Highlight the sorted column with bold text — ‘x’
Press x, to highlight the values in the sort column with bold text. Here is a screenshot, with the memory column in bold text —
top command highlight column
5. Highlight sorted column background color ‘b’
After highlighting the sorted column with bold font, its further possible to highlight with a different background color as well. This is how it looks
Top command highlight column background
6. Change the update delay — ‘d’
The top command updates the information on the screen every 3.0 seconds by default. This refresh interval can be changed.
Press the ‘d’ key, and top will ask you to enter the time interval between each refresh. You can enter numbers smaller than 1 second as well, like 0.5. Enter the desired interval and hit Enter.
7. Filter or Search processes — ‘o’/’O’
You can filter the process list based on various criterias like process name, memory usage, cpu usage etc. Multiple filter criterias can be applied.
Press the ‘o’ or ‘O’ to activate filter prompt. It will show a line indicating the filter format like this —
Then enter a filter like this and hit Enter.
COMMAND=apache
Now top will show only those processes whose COMMAND field contains the value apache.
Here is another filter example that shows processes consuming CPU actively —
%CPU>0.0
See active filters — Press Ctrl+o to see currently active filters
Clear filter — Press ‘=’ key to clear any active filters
8. Display full command path and arguments of process — ‘c’
Press ‘c’ to display the full command path along with the commandline arguments in the COMMAND column.
9. View processes of a user — ‘u’/’U’
To view the processes of a specific user only, press ‘u’ and then top will ask you to enter the username.
Which user (blank for all)
Enter the desired username and hit Enter.
10. Toggle the display of idle processes — ‘i’
Press ‘i’ to toggle the display of idle/sleeping processes. By default all processes are display.
11. Hide/Show the information on top — ‘l’, ‘t’, ‘m’
The ‘l’ key would hide the load average information.
The ‘m’ key will hide the memory information.
The ‘t’ key would hide the task and cpu information.
Hiding the header information area, makes more processes visible in the list.
12. Forest mode — ‘V’
Pressing ‘V’ will display the processes in a parent child hierarchy. It looks something like this —
13. Change the number of processes to display — ‘n’
Lets say you want to monitor only few processes based on a certain filter criteria. Press ‘n’ and enter the number of processes you wish to display.
It will display a line saying —
Maximum tasks = 0, change to (0 is unlimited)
14. Display all CPU cores — ‘1’
Pressing ‘1’ will display the load information about individual cpu cores. Here is how it looks —
15. Show/Hide columns ‘f’
By default top displays only few columns out of many more that it can display. If you want to add or remove a particular column or change the order of columns, then press f
The fields marked * or bold are the fields that are displayed, in the order in which they appear in this list.
Navigate the list using up/down arrow keys and press ‘d’ to toggle the display of that field. Once done, press q to go back to the process list
The following output displays only PID, USER, CPU, MEMORY and COMMAND columns.
16. Batch mode
Top also supports batch mode output, where it would keep printing information sequentially instead of a single screen. This is useful when you need to log the top output for later analysis of some kind.
Here is a simple example that shows the Cpu usage at intervals of 1 second.
17. Split output in multiple panels — ‘A’
Each panel can be sorted on a different column. Press ‘a’ to move through the panels. Each panel can have a different set of fields displayed and different sort columns.
top command multiple panels
Conclusion
Top is a great commandline tool to check system resource usage and process details. Its often used on servers for monitoring and quick diagnosis.
If you are looking for something easier with a better user interface then try htop. Htop has a intuitive user interface, where you need not memorize keyboard shortcuts. Htop has onscreen instructions that guide you on how to use it.
A Tech Enthusiast, Blogger, Linux Fan and a Software Developer. Writes about Computer hardware, Linux and Open Source software and coding in Python, Php and Javascript. He can be reached at [email protected] .
10 thoughts on “ 15 simple TOP command examples on Linux to monitor processes ”
Nice article and great explanation.
if same user id is running multiple times how to delete all others except one.Please any one reply me fast.
exp
PID USER PR %cpu
QPD02201
QPD02201
QPD02201
QPD02201
A really top article!
Hi, thanks for the great article but I’m still looking for an answer for my case: It looks like that all the time. CPU load is around 45-50% all the time but if I add up the CPU usage of the services it never gets close… Why’s that?
Tasks: 251 total, 1 running, 250 sleeping, 0 stopped, 0 zombie
%Cpu0 : 50,1 us, 10,1 sy, 0,0 ni, 39,8 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
%Cpu1 : 55,7 us, 7,2 sy, 0,0 ni, 36,8 id, 0,0 wa, 0,0 hi, 0,2 si, 0,0 st
%Cpu2 : 35,6 us, 4,4 sy, 0,0 ni, 58,8 id, 0,0 wa, 0,0 hi, 1,2 si, 0,0 st
%Cpu3 : 36,7 us, 5,8 sy, 0,0 ni, 56,9 id, 0,0 wa, 0,0 hi, 0,6 si, 0,0 st
KiB Mem : 16242248 total, 12711832 free, 2071424 used, 1458992 buff/cache
KiB Swap: 3809276 total, 3809276 free, 0 used. 13807884 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9066 root 20 0 830468 35332 25632 S 2,2 0,2 2:19.18 metricbeat
5428 www-data 20 0 72168 27716 2520 S 1,2 0,2 3:28.49 kix.Daemon.pl
590 kopano 20 0 291488 41016 24640 S 0,6 0,3 1:27.52 kopano-search
581 kopano 20 0 355280 38644 18984 S 0,4 0,2 1:27.69 kopano-presence
7 root 20 0 0 0 0 S 0,2 0,0 0:31.24 rcu_sched
580 root 20 0 250116 4332 2508 S 0,2 0,0 0:01.37 rsyslogd
821 postgres 20 0 268376 6448 4688 S 0,2 0,0 0:00.07 postgres
1569 mysql 20 0 739704 114760 17024 S 0,2 0,7 0:38.78 mysqld
1802 root 20 0 392128 12028 6828 S 0,2 0,1 0:08.35 docker-containe
1875 root 20 0 3125288 23428 9428 S 0,2 0,1 0:40.27 slapd
2043 root 20 0 818760 70340 28176 S 0,2 0,4 0:37.41 named
2686 kdm 20 0 392288 59108 33904 S 0,2 0,4 0:29.23 kdm_greet
2871 root 20 0 4822492 437276 23464 S 0,2 2,7 2:01.74 java
9560 root 20 0 588668 69552 22952 S 0,2 0,4 0:40.12 packetbeat
10650 root 20 0 38144 3588 3012 R 0,2 0,0 0:04.37 top
Maybe it looks better like this
%Cpu0 : 50,1 us, 10,1 sy,
%Cpu1 : 55,7 us, 7,2 sy,
%Cpu2 : 35,6 us, 4,4 sy,
%Cpu3 : 36,7 us, 5,8 sy,
Источник
16 Top Command Examples in Linux [Monitor Linux Processes]
In our previous articles, we have covered the basics of ls command and cat command. In this article, we are trying to explore the top command which is one of the most frequently used commands in our daily system administrative jobs.
The top command (table of processes) displays the processor activity of your Linux box and also displays tasks managed by the kernel in real-time. It also shows information about CPU and memory utilization of a list of running processes.
You might also be interested in the following tutorials :
1. List All Running Linux Processes
To list all running Linux Processes, simply type top on the command line to get the information of running tasks, memory, cpu, and swap. Press ‘ q ‘ to quit window.
View Linux Running Processes
2. Sort Linux Processes by PID
To sort all Linux running processes by Process ID, press M and T keys.
List of Linux Processes by PID
3. Sort Linux Processes by Memory and CPU Usage
To sort all Linux running processes by Memory usage, press M and P keys.
Sort Linux Processes by Memory CPU Usage
4. Sort Linux Processes by Running Time
To sort all Linux running processes by running time, press M and T keys.
Sort Linux Processes by Running Time
5. Display Linux Processes By Specific User
To display all user-specific running processes information, use the -u option will list specific User process details.
List Linux Processes By Specific User
6. Highlight Running Process in Top
Press ‘ z ‘ option will display the running process in color which may help you to identify the running process easily.
Highlight Linux Process
7. List Absolute Path of Running Linux Processes
Press ‘ c ‘ option in running top command will display the absolute path of the running process.
List Linux Processes by Path
8. Set Refresh Interval for Top Command
By default screen refresh interval is set to 3.0 seconds, the same can be changed by pressing the ‘ d ‘ option in running the top command to set desired interval time.
Set Top Command Refresh Time
9. Kill Running Linux Process Using Top Command
You can kill a process after finding the PID of the process by pressing the ‘ k ‘ option in running the top command without closing the top window as shown below.
Kill Linux Process Using PID
10. Sort Linux Processes by CPU Utilisation
To sort all running processes by CPU utilization, simply press Shift+P key.
Sort Linux Processes by CPU Usage
11. Renice a Linux Process
You can use the ‘ r ‘ option to change the priority of the process also called Renice.
Renice Linux Process
12. Check Linux CPU Cores
To list the load information of your CPU cores, simply press 1 to list the CPU core details.
List Linux CPU Cores
13. Save Top Command Results in File
To save the running top command results output to a file /root/.toprc use the following command.
14. List Linux Idle Processes
Press ‘i’ to get the list of idle/sleeping processes.
List Linux Idle Processes
15. Getting Top Command Help
Press the ‘ h ‘ option to obtain the top command help.
Linux Top Command Help
16. Exit Top Command After Specific Repetition
The output of the top command keeps refreshing until you press ‘ q ‘. With the below command, it will automatically exit after 10 repetitions.
There is a number of arguments to know more about the top command, you may refer man page of the top command. Please share it if you find this article useful or share your thoughts using our comment box below.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Related Posts
80 thoughts on “16 Top Command Examples in Linux [Monitor Linux Processes]”
Can you explain use of options in this command.
The -n option specifies the maximum number of iterations and -b enables batch mode operation, which could be useful for sending output from top to a file.
Nice article, but how to search and see specific process memory and CPU utilization?
very nice Article….
basically I want this output to a file.. for 10 mins..
top – 13:29:09 up 1 day, 20:30, 1 user, load average: 0.65, 0.70, 0.69
Tasks: 1022 total, 1 running, 1020 sleeping, 0 stopped, 1 zombie
%Cpu0 : 13.0 us, 2.7 sy, 0.0 ni, 84.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 49.3 us, 3.6 sy, 0.0 ni, 45.7 id, 0.3 wa, 0.3 hi, 0.0 si, 0.7 st
%Cpu2 : 2.0 us, 2.0 sy, 0.0 ni, 95.4 id, 0.0 wa, 0.3 hi, 0.3 si, 0.0 st
%Cpu3 : 7.6 us, 2.0 sy, 0.0 ni, 90.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 1.3 us, 2.3 sy, 0.0 ni, 96.0 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
%Cpu5 : 26.1 us, 2.6 sy, 0.0 ni, 70.3 id, 0.3 wa, 0.3 hi, 0.0 si, 0.3 st
KiB Mem : 41042384 total, 1621820 free, 6024132 used, 33396432 buff/cache
KiB Swap: 21946356 total, 21946308 free, 48 used. 9811332 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
34389 root 20 0 967380 57812 8156 S 91.7 0.1 243:41.66 java
4295 oracle 20 0 4517788 497680 9364 S 0.0 1.2 4:15.28 java
Hi All, is there a way to get top output for a given command only listing all CPU info also and write to a file..
Please go through this following article, that will explain how to save top command output to a file in Linux.
Got something to say? Join the discussion. Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Источник