Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

My rough understanding of a Linux load Average is that for every integer a CPU core is working all the time. For example, 1 means on a 4 core system that 1 core is working at capacity. How does HyperThreading factor into this? Is it even considered in load averages?

share|improve this question
2  
Threads waiting for "fast I/O" (such as local disk accesses) count towards the load average as well. –  David Schwartz Jan 21 '13 at 19:20

1 Answer 1

up vote 2 down vote accepted

I generally think of a HyperThreaded core as being 20%-30% of a real core, depending on how effectively your application can leverage multiple threads. They are considered in load average and load average thresholds.

Here's an example of a dual-socket Intel X5570 Nehalem system before and after enabling Hyperthreading. The OS is CentOS 5.8. The actual average system run queue/load average did not change substantially (the app is pretty much single-threaded), but the load threshold did.

enter image description here

That said, there are many times when I disable HyperThreading... For my low-latency and deterministic applications, I want finer control of where application resources are scheduled. There's a penalty for going to a HyperThread core in those cases. Also, I have one particular situation where the application is running on a 4-socket 8-core CPU that has HyperThreading. It's way too many cores... so I just disabled HT to cut from 64 logical CPU's to 32.

enter image description here

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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