1

I have a situation where I wanted to monitor my servers load, for this I am trying to set a threshold, but I am not sure what is the maximum value my server can reach.

This is the current system load average:

0.23, 1.52, 2.69

sudo nproc --all returns value as 6

and here is the CPU details:

enter image description here

Does this mean my server can reach system average load upto 6?

1
7

There isn't really a maximum load average. It can increase based on other resources besides pure CPU processing such as waiting for IO a whack of other stuff.

But you'd expect see 1 per core on a fully utilized system when it is CPU bound.

4 core = 4 load avg

With hyperthreading, you'd hope for

4 core hyper-threaded = 8 load avg

But things can be more complicated, since they aren't real cores: Linux Load Averages and HyperThreads

What goes into figuring out load averages

https://superuser.com/questions/23498/what-does-load-average-mean-in-unix-linux

Load average is the average of the load number for a given period of time. It takes into account processes that are:

Actively running on a CPU.

Considered runnable, but waiting for a CPU to become available.

Sleeping: i.e., waiting for some kind of resource (typically, I/O) to become available.

3
  • thank you for your input :) does this mean, we can't really depend on load average while monitoring system ? I want to get triggered email ( done by monitoring software) when the system reaches a level where it possibly cannot handle requests or cpu usage monitoring will be better in this case? – shrish Aug 5 '16 at 17:56
  • @shrish I would perhaps try monitoring at 1xcore, so 6 for you. And see how it goes. A load higher, unless normal for that system, could be worthwhile checking out at the very least. It's nice to always run your servers below max capacity anyways. But a system can often handle way more and remain stable. If the load is high because it ran out of memory and is swapping, bad. If the load is high because the CPU is busy, maybe OK temporarily. It depends. – Ryan Babchishin Aug 5 '16 at 18:05
  • I have noted your points :) thanks for your expert view on this. really appreciate your help :) – shrish Aug 5 '16 at 18:12
2

The load average represents the number of processes READY to have CPU dispatched to it (i.e. not blocked for I/O or other things). Thus on a failing system you might see values in the 100s. So this value is independent on the number of cores but I guess theoritically this would be limited to the total number of processes the system can support.

1

CPU utilization would be an easier metric to set thresholds on than load average. Many monitoring systems source this from inputs like user + system time in vmstat

Your workload will vary, but high 90% tends to degrade user interactive response times.

1
  • This is kind of answer I was looking for :) thanks for the input. – shrish Aug 6 '16 at 14:24
-1

That means that LA up to 6 would be normal. In some cases you can have a way higher LA (if something does too many context switches, for example).

1
  • There is no "normal" when it comes to Load Average. – EEAA Aug 5 '16 at 18:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.