Three server processes consume no more than 50% of Dual Core CPU

Posted by thor on Server Fault See other posts from Server Fault or by thor
Published on 2011-01-03T13:05:23Z Indexed on 2011/01/03 13:55 UTC
Read the original article Hit count: 263

Filed under:
|
|
|

I have three processes running on Intel Core 2 Duo CPU. From watching output of 'top' and graphs of CPU load (drawn by MRTG, data collection via SNMP) I can see that CPU load is never more than 50%, and, most of the day, when those processes are busy CPU load has a ceiling at 50 %. I mean, CPU load grows up to 50% in the morning and stays there until late evening.

My first thought was that only one core was used at 100% thus giving 50% of both CPUs. But, as there are three processes running and from 'top' I see that both cores are being loaded, so this is not the case. schedtool shows that CPU affinity for those three processes is at default, 0x03, allowing them to use both cores. If I force one process to one core (schedtool -a 0x01), and two others to second (schedtool -a 0x02), cumulative usage grows beyond 50%.

Why three processes seem to consume only 50% of two cores? Why forcing them to different CPUs allows usage to grow higher? Any hints?

P.S. Processes in question are Counter-Strike servers.

© Server Fault or respective owner

Related posts about linux

Related posts about cpu