Question

CPU Utilization

When running a simple top command, you notice that while running nothing else, the User role may consume 7% of the droplet. Idle fluctuates between 92%-88%. However, when looking at the DigitalOcean dashboard I noticed that during those same instances, the droplet’s ‘CPU Usage’ statistic barely reached 1%.

I’m curious about the ‘CPU Usage’ stat in general. If an idle reading is 0% while the DigitalOcean ‘CPU Usage’ stat shows maybe 1%- does that mean that 100% of the CPU was dedicated to a task at that moment, but during that moment the CPU itself was only taxed at 1% of its total capability??

Trying to wrap my head around monitoring and system health. Thank you!!

Subscribe
Share

The above may be an extreme example but for instance, I have a script that creates a connection from a remote server, then runs a top command every 1 second to get second by second CPU stats. I noticed idle percentage is usually around 87-92-100% when captured on a per-second basis. However, the CPU % in DigitalOcean shows roughly 2% during this same period.

Just curious about the disconnect. Is idle % a good characteristic to measure performance?

** In Addition- I noticed running the Top command from the droplet itself displays different results than my script that uses SSH to run the top command from a remote connection. Maybe that is not an accurate depiction of current server status


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

Hi there,

Idle means that the CPU is not doing any work, for example, if the CPU is Idle at 95% then the usage is actually 5%.

I could suggest running the htop command on your server as you will get a better visual representation of the CPU utilization.

The top command shows you the load average of your CPUs. For example, roughly speaking, if you have 1 CPU, then 100% CPU usage would be represented as 1. The load average would match the Load (1/5/15) graph in your DigitalOcean metrics.

Hope that this helps. Regards, Bobby