Where does "CPU%" chart come from?
I have 4 CPU linode running an application that runs about 50% on each processor.
Mem: 7926144K used, 236840K free, 141908K shrd, 38832K buff, 6685056K cached
CPU0: 40% usr 3% sys 0% nic 55% idle 0% io 0% irq 0% sirq
CPU1: 48% usr 2% sys 0% nic 48% idle 0% io 0% irq 0% sirq
CPU2: 51% usr 4% sys 0% nic 38% idle 1% io 0% irq 3% sirq
CPU3: 57% usr 4% sys 0% nic 36% idle 0% io 0% irq 0% sirq
The chart in my Linode account shows I'm using "250% CPU". But I'm not seeing that kind of usage on my Linode instance.
3 Replies
The reason why you're seeing usage over 100% on your Linode is that each core gets its own 100%. That means a 4 core plan will max out at 400%, rather than 100%.
Based on what you provided, if we add up the 4 cores using 50%, that would equal 200%. From there, it's just a matter of a little more CPU usage from heavier moments of work or other services running on the Linode.
ok, guess somebody mislabeled something. So it's not actually CPU %. The load average for 4 cpu = 4.0, so if it's load average 2.5 it's not 250%, it's actually 2.5 / 4 = 63%
Thanks
The load average for 4 cpu = 4.0
I’ll admit I don’t know the exact calculation for load average, but I have seen a 4-core system maxing out its CPUs at 100% each core with a load average over 25.
Load is based on the number of processes that are waiting to execute, so higher waiting processes = higher load average. Processes waiting on I/O are also counted towards load average, where in this case the CPU is not busy and can execute something else while it’s waiting.
CPU% is the measurement of how much of each 100th of a second was spent on a particular activity (busy, waiting on I/O, idle.) “CPU usage %” is therefore any time the CPU was not idle and not waiting for something.