As a disclaimer, I have read related question to this topic, but still a bit confused in regards to the situation I am seeing.

Understanding system load

and also:

Understanding top and load average

I am concerned about the load on one of my servers.

When running htop, It displays that I have 40 cores. MY load averages are 9.35, 9.58, 8.55.

My initial though was that this was high, but the processors installed in the server are : INTEL XEON E5-2650V3 (2.3GHZ/10-CORE/25MB/105W) FIO PROCESSOR KIT INTEL XEON E5-2650V3 (2.3GHZ/10-CORE/25MB/105W) PROCESSOR KIT

My confusion is that I am not sure why htop lists 40 cores, but I only have two 10-core processors.

2 questions:

If I have two 10 core processors (20 cores total), is a load of 10 reasonable?

Also, why would htop show 40 cores at the top?


A load of 10 is reasonable in this case. The rule of thumb is that you want your load average to be less than your total number of cores. The reason that you appear to have double the amount of cores is because of hyper-threading. Here is an excerpt from the linked wikipedia article:

For each processor core that is physically present, the operating system addresses two virtual or logical cores, and shares the workload between them when possible. The main function of hyper-threading is to increase the number of independent instructions in the pipeline; it takes advantage of superscalar architecture, in which multiple instructions operate on separate data in parallel. With HTT, one physical core appears as two processors to the operating system, which can use each core to schedule two processes at once. In addition, two or more processes can use the same resources: if resources for one process are not available, then another process can continue if its resources are available.

| improve this answer | |
  • Thanks for the prompt response!!! This was exactly what I needed to confirm my thoughts on this. Thanks to Stephen below as well. Both are good answers!! – luskbo Feb 15 '16 at 19:18

You have two 10-core CPUs, for a total of 20 cores, but each of these cores is hyper-threaded, and appears to the operating system as two CPUs: you end up with a total of 40 CPUs. (I'm simplifying slightly; the kernel is aware of the difference between cores and threads and takes it into account.) That's what htop displays.

As far as your load is concerned, 10 is fine; one rule of thumb (given in a comment to an answer to Understanding system load) is that monitoring should warn if the load is greater than the number of CPUs, but in your case it's less than the number of (real) cores.

| improve this answer | |

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.