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 :
- Htop – An Interactive Process Viewer for Linux
- Iotop – Monitor Linux Disk I/O Activity and Usage Per-Process Basis
- bmon – A Powerful Network Bandwidth Monitoring for Linux
- Find Top 15 Processes by Memory Usage in Linux
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.
# top
2. Sort Linux Processes by PID
To sort all Linux running processes by Process ID, press M
and T
keys.
3. Sort Linux Processes by Memory and CPU Usage
To sort all Linux running processes by Memory usage, press M
and P
keys.
4. Sort Linux Processes by Running Time
To sort all Linux running processes by running time, press M
and T
keys.
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.
# top -u tecmint
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.
7. List Absolute Path of Running Linux Processes
Press ‘c
‘ option in running top command will display the absolute path of the running process.
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.
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.
10. Sort Linux Processes by CPU Utilisation
To sort all running processes by CPU utilization, simply press Shift+P
key.
11. Renice a Linux Process
You can use the ‘r
‘ option to change the priority of the process also called Renice.
12. Check Linux CPU Cores
To list the load information of your CPU cores, simply press 1
to list the CPU core details.
13. Save Top Command Results in File
To save the running top command results output to a file /root/.toprc use the following command.
# top -n 1 -b > top-output.txt
14. List Linux Idle Processes
Press 'i'
to get the list of idle/sleeping processes.
15. Getting Top Command Help
Press the ‘h
‘ option to obtain the 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.
# top -n 10
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.
Great article!! Is there any GUI way of visualizing the top command that is output to a file after sort say for CPU utilization?
@Harsha,
Check this article – How to Save Top Command Output to a File
Can you explain use of options in this command.
@Madhav,
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?
@Khim,
I think you should read this article Find Top 15 Processes By Memory Usage in Linux
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..
@Jai,
Please go through this following article, that will explain how to save top command output to a file in Linux.
How to Save Top Command Output to a File