Tuesday, September 19, 2017

linux - Redhat 5.5: Multi-thread process only uses 1 CPU of the available 8

Weird situation:
Redhat Enterprise 5.5 (stock install, no updates, x64) on a HP z800 workstation.
(Dual Xeon 2,2 Ghz. 8 cores, 16 if you count Hyper-threading. RH sees 16 cores.)




We have an application that can utilize 1, 2 or 4 threads for heavy calculations.
Somehow all these threads run on the same core at 100% load (the other 15 cores are nearly idle) so there is absolutely no benefit from the extra threads.
In fact there is a slight slowdown as the threads get in each others way on the single core.



How do I get them to run on separate cores (if possible)? Application is 64 bit. Can't change anything about the software except changing the threads setting.
Is there some obscure Linux setting I can try to change? (I'm a True64 and Aix guy. I use Linux, but have no in depth knowledge of the process scheduling on Linux.)






/proc/cpuinfo list al 16. top en gnome cpu-monitor both indicate only 1 core is used. I tried something similar to that perl thing as well. We can load all CPU to nearly 100% if we want to.

Application vendor claims: Yes it is multi-threaded but it is not optimized yet. That will be the next version (in August).



So I think the application is doing sub-threading within it's own process-space in stead of proper real separate process threads. Really nothing I can do about it then....

No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...