Linux 101 : System performance - dissecting the "top" command output -
To get an idea of the system load without having to run the "top" command interactively.
We could "force" it to display the system load and exit by running the below command:
Below a short description of each of the fields:
- us: represents the percentage of CPU time of users processes whose priority hasn't been changed with the "nice" program.
- sy: represents the percentage of CPU time for running kernel processes.
- ni: represents the "nice" CPU time for user processes whose priority has been modified through the "nice" command.
- id: represents the time in which the CPU is idle, a low number means a slow system due to high CPU load.
- wa: it represents the percentage of CPU time waiting for input/output. When this value is high, the system will be slow due to storage or network I/O.
- hi: represents the CPU time for handling hardware interrupts.
- si: represents the percentage of CPU time for handling software interrupts.
- st: represents the "steal time", it represents the CPU time "stolen" to handle other tasks. It is meaningful especially when we are running virtual machines.
Hardware interrupts or "IRQ" is the way hardware communicates with the CPU.
When a device wants to notify the CPU that some data - keyboard input or I/O on a network interface - needs to be processed, it does so through a IRQ.
Software interrupts represent a signal send from a program to the CPU to take some action.