Spring Sale! Save 30% on all books w/ code: PLANET24
Web Dev + WordPress + Security

What Those Three Linux “CPU Usage” Numbers Mean

Just a quick note to self (and anyone looking for the same information). A common question I get for my free WordPress plugin, Dashboard Widgets Suite (DWS), is “what do the CPU Usage” numbers mean? Users get curious because the DWS plugin displays something like this on the WordPress Dashboard:

Displaying CPU Usage and other stats on the WP Dashboard (click image for full-size view)

Notice in the screenshot, where it shows the three numbers for “CPU Usage”:

0.75, 0.55, 0.51

As explained in more detail elsewhere, those three numbers are referred to as Load Average. They are a measure of the load (resource usage) on the CPU. The numbers are based on the number of cores used by your Linux server. Exactly how the three numbers are calculated is all a bit esoteric, proprietary, and “mathy”, so let’s look at a few concrete examples to get a better idea of how it works..

One core:
0.50, 0.50, 0.50 = server using 50% of CPU
1.00, 1.00, 1.00 = server using 100% of CPU
2.00, 2.00, 2.00 = server using 200% of CPU

Two cores:
0.50, 0.50, 0.50 = server using 25% of CPU
1.00, 1.00, 1.00 = server using 50% of CPU
2.00, 2.00, 2.00 = server using 100% of CPU

Three cores:
0.50, 0.50, 0.50 = server using 16.6% of CPU
1.00, 1.00, 1.00 = server using 33.3% of CPU
2.00, 2.00, 2.00 = server using 66.6% of CPU

Four cores:
0.50, 0.50, 0.50 = server using 12.5% of CPU
1.00, 1.00, 1.00 = server using 25% of CPU
2.00, 2.00, 2.00 = server using 50% of CPU

Those are idealized numbers to make things simpler to understand. In practice, the three numbers will vary, possibly quite a bit. In the examples above, notice how the usage percentages (e.g., 50%, 100%, 200%) decrease as the number of cores increase. Which makes sense because more cores typically means more resources, and thus lighter loads.

Math formula

To understand the front-end math for the three numbers, consider the simplest case:

One core:
1.00, 1.00, 1.00 = server using 100% of CPU

Makes sense. Now add another core and the load is split in half, and thus the CPU usage is decreased to 50%, like so:

Two cores:
1.00, 1.00, 1.00 = server using 50% of CPU

And so forth. In general, here is the mathematical formula calculate the percentage of CPU usage based on load average and the number of cores:

(load average × 100) / (number of cores) = % CPU usage

So returning to the opening example averages:

0.75, 0.55, 0.51

..we can calculate the percent CPU usage on the server for each of the three numbers:

Two cores:
(0.75 × 100) / 2 = 37.5% CPU usage
(0.55 × 100) / 2 = 27.5% CPU usage
(0.51 × 100) / 2 = 25.5% CPU usage

..which (for me at least) is a comfortable running load average for the server.

Fifteen minutes

Another thing to understand is that the three numbers represent the load average over the past 15 minutes. The first number represents 1 minute ago. The second number 5 minutes ago, and the third number 15 minutes ago. To illustrate:

1 minute, 5 minutes, 15 minutes
0.75,     0.55,      0.51

In general, lower numbers are better. For example, on a 1-core server, once the numbers approach 1.00, it means the server is processing at 100% capacity. Likewise as the numbers go higher than 1.00, it means the CPU is running at maximum capacity and there are tasks waiting to run as soon as other tasks finish.

Healthy numbers

So what do “healthy” load averages look like? Really it depends entirely on the server and how it’s set up and configured. In general you want lower numbers.

For example, the three numbers above (0.75, 0.55, 0.51) are typical of averages on my own server, which get fairly heavy traffic. In other cases, I’ve watched servers operate near or over 100% capacity for weeks or more. It really depends on a lot of factors. Just basically keep an eye on it and ask your web host if you have any questions or concerns.

For a deeper dive into the fun world of server performance, check out the related article, Understanding CPU Utilization, plus tons more stuff online to surf around.

About the Author
Jeff Starr = Designer. Developer. Producer. Writer. Editor. Etc.
BBQ Pro: The fastest firewall to protect your WordPress.

2 responses to “What Those Three Linux “CPU Usage” Numbers Mean”

  1. Like the article, but I’m not sure the “Fifteen minutes” section is completely correct.

    It’s my understanding that the first number is the average over the last minute, the second over the last 5 minutes, and the last one is the load average over the last 15 minutes. So not “15 minutes ago”, but between then and now.

    This also explains why the first umber will usually fluctuate more erratically.

Comments are closed for this post. Something to add? Let me know.
Welcome
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
Blackhole Pro: Trap bad bots in a virtual black hole.
Thoughts
I live right next door to the absolute loudest car in town. And the owner loves to drive it.
8G Firewall now out of beta testing, ready for use on production sites.
It's all about that ad revenue baby.
Note to self: encrypting 500 GB of data on my iMac takes around 8 hours.
Getting back into things after a bit of a break. Currently 7° F outside. Chillz.
2024 is going to make 2020 look like a vacation. Prepare accordingly.
First snow of the year :)
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.