The top
command in Linux is a real-time system monitoring utility that shows the processes that are currently running on a system and their resource usage in real-time. It is similar to the ps
command, but the output is constantly updated and provides a live view of the system’s performance.
When you run the top
command, it displays a real-time view of the processes that are using the most CPU, memory, and other system resources. The output is updated every few seconds and can be sorted by various criteria, such as CPU usage, memory usage, process ID, and others.
Here’s an example of how to use the top
command:
$ top
The output of the top
command may look like this:
top - 09:45:18 up 22 days, 1:28, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7973.1 total, 1446.8 free, 3919.2 used, 2607.1 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 3628.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1000 john 20 0 1523032 118584 48440 S 0.3 1.5 38:21.08 gnome-shell
1534 john 20 0 807192 65012 30768 S 0.3 0.8 27:11.22 firefox
1158 root 20 0 185740 31288 21004 S 0.3 0.4 1:11.71 Xorg
1 root 20 0 225832 9704 6600 S 0.0 0.1 0:10.12 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
The output of top
includes system-wide statistics, such as the current time, system uptime, number of running and sleeping tasks, and the current load average. It also shows CPU usage and memory usage statistics, as well as a list of the most resource-intensive processes currently running on the system.
In summary, the top
command is a useful tool for monitoring system performance in real-time, identifying resource-intensive processes that may be causing performance issues, and optimizing system resource utilization.