Know what is happening in “real time” on your systems is in my opinion the basis to use and optimize your OS. in general the top command can help us, this is a very useful system monitor that is really easy to use, and that can also allows us to understand why our OS suffers and which process use most resources.
This first row indicates in order:
• Current time (15:57:59).
• Uptime of the machine (up 2 days, 13:19).
• Users sessions logged in (1 user).
• Average load on the system (load average: 0.40, 0.33, 0.36) the 3 values refer to the last minute, five minutes and 15 minutes.
The second row gives the following information:
• Processes running in totals (136 total).
• Processes running (2 running).
• Processes sleeping (134 sleeping).
• Processes stopped (0 stopped).
• Processes waiting to be stopped from the parent process (0 zombie).
The third row indicates how the CPU is used. If you sum up all the percentages the total will be 100% of the CPU. Let’s see what these values indicate in order:
• Percentage of the CPU for user processes (9.8%us).
• Percentage of the CPU for system processes (2.0%sy).
• Percentage of the CPU processes with priority upgrade nice (0.2%ni).
• Percentage of the CPU not used (88.0%id).
• Percentage of the CPU processes waiting for I/O operations (0.0%wa).
• Percentage of the CPU serving hardware interrupts (0.0% hi — Hardware IRQ).
• Percentage of the CPU serving software interrupts (0.0% si — Software Interrupts).
• The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine) this will be 0 on desktop and server without Virtual machine. (0.0%st — Steal Time).
The fourth row respectively indicate the use of physical memory (RAM). In this order:
(3881524) Total memory, (370420) free, (2107708) used, (1403396) buffers cached.
The fifth row respectively indicate the use of swap memory (RAM). In this order:
(2097148) Total memory, (1399920) free, (697228) used, (1303512) available memory.