0

we have the follwing CPU details

more lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                32
On-line CPU(s) list:   0-31
Thread(s) per core:    2
Core(s) per socket:    8

uptime show

uptime
 07:41:41 up 40 days, 11 min,  2 users,  load average: 17.82, 23.40, 24.73

so we have 32 CPU ( Thread(s) per core: 2 )

Regarding the high values of the CPU load average from uptime, are these values normal?

load average: 17.82, 23.40, 24.73

closed as primarily opinion-based by Kusalananda, Jeff Schaller, Thomas, Olorin, jimmij Mar 6 at 8:18

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Short answer: it is normal if there are several processes running. It is not, if your machine is (or should be) idle. What processes are running on this CPU? You may check out this explanation to get started with load averages meaning. – BowPark Mar 5 at 10:11
  • so you think the load average isn't normal ? , but we have 32 CPU , so what is the limit of load average that we say this threshold is the max and any value more then this will point about a problem – yael Mar 5 at 10:23
  • until now I was thinking that if we have 32 CPU ( and actually they 64 ) , then we can accept load average until 64 , am I wrong here ? – yael Mar 5 at 10:25
  • 1
    "Normal" depends on what you are doing on the system. – Kusalananda Mar 5 at 10:40
  • 1
    "Load" is a measure of the length of the run queue. It does not necessarily have anything to do with the CPUs. There is no "CPU load" in the output from uptime. – Kusalananda Mar 5 at 10:55
2

This is a hard one.

If the load average is higher than number of CPUs (for too long), then this is a sign that things are queuing up.

However if they are less, this is not a sign of anything. There can be one process, using 100% of a CPU, that is not getting its work done.

On the other hand, if you have many low priority batch processes, with no real time deadline. This can cause the load average to go up, but not affect the performance of the machine.

So the short answer is, it depends.

In this case:

I see no cause for alarm, if and only if, the system is doing useful work. However there may be a single (un-parallelised) task, that is not keeping up with its work load, load-average will not tell you about this.

  • so regarding my case we have ( 64 cpu's ) because Thread(s) per core: 2 , so the max load average that we get is 25 , and CPU are 64 , so can we say that for now load average is ok? – yael Mar 5 at 10:37
  • Did I say that? — I have added another paragraph. – ctrl-alt-delor Mar 5 at 10:43
  • @yael As said in the answer, you must know the processes that are currently running in the machine: if «the system is doing useful work», for example it is running a webserver with multiple connections, then it is all right. Otherwise, there may be something undesired which is using the CPU. – BowPark Mar 5 at 11:24
1

Kindly check the commands below.

First method

Find out the number of processor configured in the host:

    cat /proc/cpuinfo | grep -i processor| wc -l

Suppose the output we got is 4: then, a load average up to 4 is OK. If it goes beyond 4 then there is an issue.

Note: the (acceptable) load average directly depends on the number of core processor configured.

Second method

You can use the script below to find if the load average is fine or not:

    #!/bin/bash

    processor_count=`cat /proc/cpuinfo | grep -i processor| wc -l`
    echo $processor_count

    w| awk 'NR==1 {print $1=$2=$3=$4=$5=" ";print $0}'| sed -r "s/^\s+//g"|awk -F ":" '{print $2}'| awk -v pr="$processor_count" -F "," '{if (($1 > pr) || ($2 > pr) || ($3 > pr)){print "Load average is high and its above 100% of utilization"}else{print "load average is fine"}}'
  • what is w meaning in the script ? – yael Mar 5 at 10:40
  • @yael w is a command. He could have used uptime here too and remove the NR==1 condition. – Kusalananda Mar 5 at 10:41
  • if you execute script it will find whether load average is fine on the server or not – Praveen Kumar BS Mar 5 at 10:42
  • @Kusalananda yes agreed – Praveen Kumar BS Mar 5 at 10:43
  • Note though that the load may be high due to other reasons than CPU congestions. Having multiple processes waiting on a disk will also give you high load even though the CPUs may be under-utilized. – Kusalananda Mar 5 at 10:46

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