Overview of top
`top` periodically updates and displays the usage of system resources (CPU, memory, swap) and detailed information about each process. This allows you to easily identify which processes are using a lot of system resources and monitor the overall health of the system.
Main Functions of top
`top` command is primarily used for the following purposes:
Key Use Cases
- {'key': 'System Monitoring', 'value': 'Check CPU, memory, and swap space usage in real-time.'}
- {'key': 'Process Management', 'value': 'Understand the status of running processes and terminate or adjust priority if necessary.'}
- {'key': 'Performance Issue Diagnosis', 'value': 'Analyze the causes of system slowdowns or unresponsiveness.'}
- {'key': 'Resource Usage Optimization', 'value': 'Identify processes that consume excessive resources and take action.'}
Structure of top Output
`top` command displays information divided into two main parts:
Top Summary Information
Summarizes the overall state of the system.
- `uptime`: Time elapsed since the system was booted.
- `load average`: System average load over the last 1, 5, and 15 minutes (number of processes in the execution queue).
- `Tasks`: Total number of processes, running, sleeping, stopped, and zombie processes.
- `%Cpu(s)`: CPU usage (us: user, sy: system, ni: nice, id: idle, wa: I/O wait, etc.).
- `MiB Mem`: Total physical memory (RAM), usage, free space, and buffer/cache usage.
- `MiB Swap`: Total swap memory, usage, and free space.
Bottom Process List
Displays detailed information about each running process. This list is sorted by CPU usage (%) by default.
- `PID`: Process ID.
- `USER`: User who executed the process.
- `PR`: Priority.
- `NI`: Nice value (used for priority adjustment).
- `VIRT`: Total virtual memory used by the process.
- `RES`: Amount of physical memory (RAM) used by the process (Resident Memory).
- `SHR`: Amount of memory shared by the process (Shared Memory).
- `S`: Process state (R: running, S: sleeping, Z: zombie, T: stopped, etc.).
- `%CPU`: CPU usage of the process (real-time).
- `%MEM`: Memory usage of the process (real-time).
- `TIME+`: Total CPU time used by the process.
- `COMMAND`: Command that started the process.
`top` vs `htop`
`htop` is an improved version of `top`, providing a more user-friendly interface (colors, mouse support) and features (scrolling, searching, direct termination). In most cases, `htop` is more convenient. If `htop` is not installed, you can install it through your package manager (e.g., `sudo apt install htop`).
Options and Interaction of the top Command
`top` allows you to specify command-line options at startup, and while running, you can use various key inputs to perform tasks such as changing the display style, sorting processes, and exiting.
1. Command-Line Startup Options
2. Interactive Keys While Running top
Generated command:
Try combining the commands.
Description:
`top` Executes the command.
Combine the above options to virtually execute commands with AI.
Usage Examples
Learn how to monitor system resource usage in real-time and diagnose issues through various examples of the `top` command.
Start Basic System Monitoring
top
Executes the most basic `top` command, updating and displaying the system's current state and process list every 3 seconds.
Check Top 5 Processes by CPU Usage (1-second interval)
top -d 1 -n 5
Runs `top` and updates only 5 times at a 1-second interval before exiting. This is useful for quickly identifying the cause of CPU load at a specific moment.
Monitor Only Processes of Specific User (root)
top -u root
Filters and displays only the processes executed by all `root` users on the system. Useful for tracking resource usage of system daemons or services.
Monitor Only Specific Process ID (PID)
top -p 12345
Monitors information about the single process with PID `12345` in real-time. Useful for accurately tracking resource consumption of a specific application.
Sort by Memory Usage (Interactive While Running)
top # then press Shift + m
While `top` is running, press `Shift + m` to sort the process list in order of memory usage. (Cannot be specified directly from the command line).
Terminate Specific Process (Interactive While Running)
top # then press 'k', enter PID, then optionally '9' for SIGKILL
While `top` is running, pressing the `k` key prompts you to enter the PID of the process to terminate. Enter the PID and press `Enter` to send the default SIGTERM signal. To force termination, enter signal number 9.