A server stack is the collection of software that forms the operational infrastructure on a given machine. In a computing context, a stack is an ordered pile. A server stack is one type of solution stack — an ordered selection of software that makes it possible to complete a particular task. Like in this post about linux load average interpretation with vcpu [closed] was one problem in server stack that need for a solution. Below are some tips in manage your linux server when you find problem about linux, ubuntu, load-average, , .
I have a workstation with following CPU spec –
Dual (two) Intel Xeon X5675 CPUs - 6 cores each - that's total of 12 cores / 24 threads.
If all the cores were utilised, given the total threads is 24, is the expected load average 24 or 2400 ?
The current utilisation with running multiple background jobs is as follows –
I’m wondering if the system is super overloaded or is it fine for the spec I have
You are conflating CPU usage in % with load average:
CPU usage % shows per-cpu non-idle time, ranging from 0% to 100% for each CPU core. This means that an heavy single-thread process will show 100% use over a single CPU core, while an heavy multi-threading process spawning 24+ threads will show 2400% (24x 100%) CPU usage
load average shows how many processes are waiting for their running slot. In other words, it shows how many processes are ready to run but they can not because the CPU has no time for them “just now”, and are put to sleep in the ready-to-run queue. In our previous heavy multi-thread process scenario, a 24 thread process running at 2400% CPU load on a 24 cores/threads CPU will not result in a significantly higher load average (simply because a threads/core is available for each thread) unless other unrelated processes are fighting for they run slot (which are saturated by out multi-thread process).
In short, CPU load % shows how much time your CPU is busy, while load average how many processes are waiting for their turn.