Have you ever wondered what your computer is doing behind the scenes? The ‘top’ command on Linux can help you find out. It’s a powerful tool that allows you to monitor your system's resource usage in real-time. This can help diagnose performance issues or better understand how your system works. In this article, we’ll review the basics of the ‘top’ command and how to use it to get the most out of your Linux system.
A guide using Linux’s top command
For Linux users, it’s crucial to have a good understanding of the top command’s interface, and that's not just memorizing a couple of commands. For better understanding, we will explain everything from the very start.
To begin with, you need to run the top command by typing ‘top’ in the command line and pressing enter. This command will open an interactive command line application.
The output table contains an upper section and a lower section. The first includes statistics on processes and resource usage, while the second indicates a list of currently running processors. Let’s dive right into each section.
For instance, if you need to create or modify files while monitoring system resources, the touch command in Linux can be a useful tool. You can learn more about how to use the touch command effectively in our guide here.
Top’s interface: the upper section
As mentioned above, the top’s output contains two sections. The upper section contains several parts, as explained below:
Uptime
In the first line, Top follows by the system uptime, which says how long your system has been up and running.
User sessions
It displays the number of active users, and to get more information about active users, you can use the ‘who’ command.
Memory usage
Here you can see the information about your system's memory usage, and you’ll see the total, free, and used values.
Tasks
The second line is the Task output, which gives you information about the processes running on your system, and it has five values as below:
Total
Gives you info about the sum of processes from several states.
Running
It gives you info about how many processes are handling the request and executing them.
Sleeping
Display the processes waiting for an operation to be fulfilled.
Stopping
Display processes stopped for various reasons, such as by pressing Ctrl + Z.
Zombie
To keep track of processes, the kernel keeps several data structures in memory. A process can create many child processes; each child process may exit when the parent process is still active. A process that has been terminated but still has data structures is often called a zombie process.
%Cpu(s)
In the third line of the top command output, %Cpu indicates detailed information about your system's CPU.
Us
Displays the CPU time that’s spent in user space.
Sy
Displays the CPU time that’s spent in kernel space.
Ni
Displays the CPU time that’s spent on low-priority processes.
Id
Displays the CPU time that’s spent on IDLE.
Wa
Displays the CPU time that’s taken on your disk.
Hi
Displays the CPU time that’s spent servicing or handling hardware interrupts.
Si
Displays the CPU time that’s spent servicing or handling software interrupts.
St
Displays the CPU time that’s stolen from a virtual machine.
Top’s interface: the lower section
In this part, we’ll explain the second section’s columns.
PID
Indicates the id of the task process.
PR
Indicates the priority of processes; the higher the number, the lower the priority.
VIRT
Indicates the total memory sorted by tasks.
USER
Indicates the username of the task’s owner.
%CPU
Indicates the CPU usage.
TIME
Indicates the time duration since it started.
SHR
Indicates the shared memory size.
NI
Indicates a nice value of the task. A positive NI value shows lower priority, and a negative NI value means higher priority.
%MEM
Indicates the memory usage of a specific task.
RES
Indicates the total usage of physical RAM, in kilobytes.
COMMAND
Indicates the command’s name that’s started the processes.
Top Command’s Examples
So far, we have learned about different parts of the top’s interface and how everything works there. Now it’s time to provide you with the most common Top command lines.
Kill processes
If you need to kill a process, simply type ‘k’ while the top runs. This will ask you for the id of the process and press enter. Next, you need to enter the process's signal that should be killed.
Sort the process list
Linux users always need a tool like Top to see which process takes more space. So, you can press the following keys to do it:
M
listed by memory usage.
P
Listed by CPU usage.
N
listed by process ID.
T
They are listed by running time.
The Top output will show all the results in descending order. And you can switch to ascending order by pressing R.
Display a list of threads instead of processes
We talked about how Linux switches between processes. Unfortunately, processes do not share a memory or other resources, which makes switching between processes quite slow.
Like many other operating systems, Linux offers a “lightweight” alternative called a “thread, " which can share memory and other resources with processes. There is no way to separate them from a process, but they can run concurrently as processes can, even though they share certain memory regions and resources.
To monitor these threads and their resource usage, you can use the ps
command in Linux, which provides detailed information about processes and threads running on your system. For more information on how to use the ps
command effectively, check out our guide on the Linux ps command.
To switch back to the process view, press ‘H’. Plus, use the -H to display threads by default.
Syntax: top -H
Display full paths
The top doesn’t display the full paths or distinguish between kernel-space and user-space processes. To get this info, press ‘c’ while Top is running.
Forest view
To display the child-parent hierarchy of processes, press ‘v’ while Top runs.
List process from a certain user
Suppose you want to list the processes from a user, press ‘u’ while Top is running. Next, type the username. Alternatively, you can leave it blank to see the processes of all users.
Filter processes
A simple sorted list will not be sufficient if you have plenty of processes to work with. You can use Top's filtering mode to focus on a few processes instead of a bunch. Press the ’O’ key to activate this mode. A prompt appears at the Top where you can type a filter expression. This statement specifies the relationship between an attribute and a value.
Change the look of the CPU and Memory statistics.
You may not be comfortable with Top's default way of showing CPU and memory statistics if you’ve gotten used to a GUI environment. To change the appearance of CPU and memory statistics, you can press the keys 't' and 'm’. Pressing these keys will allow you to switch between four different views. The progress bar will move back and forth between two different types on the first two presses.
If you're looking to check your Linux version to ensure compatibility with certain commands or tools, you can easily do so by using the check-linux-version command. This will help you verify your system’s version before making further adjustments.
Save settings
You can save any changes you’ve made by pressing ‘w’.
FAQ
What is the main purpose of the Linux Top command?
The main purpose of the Linux Top command is to provide a dynamic and real-time view of a running system, including information about process activities and system resource utilization.
How can I view detailed information about a specific process using Top?
You can view detailed information about a specific process using Top by pressing ‘F’ to display the Process Field List, then selecting the PID (Process ID) of the desired process.
Does the Linux Top command have any configuration options?
Yes, the Linux Top command has various configuration options that can be accessed by pressing 'O' (for Options) when running Top, allowing users to customize what information it displays.
Is it possible to interact with processes using Top?
Yes, it is possible to interact with processes using Top by pressing ‘k’ (for Kill), entering the process ID, selecting it from a list, and then confirming the action.
What type of system resources are monitored by Linux Top?
The Linux Top command monitors system resources such as CPU usage, memory usage, swap utilization, load average, virtual memory statistics, uptime, number of users currently logged in, and more.
Conclusion
- Linux’s Top command allows users to monitor their system’s resource usage in real-time.
- The Top command is commonly used to troubleshoot performance issues.
- The upper section of the Top command mostly shows you info about the CPU and its processes. At the same time, the lower section is mostly concerned with RAM usage. we offer that you buy linux vps hosting and you practice.
People also read: