Jump to content

CPU balancing


DanCF

Recommended Posts

I am really not impressed with Windows load balancing between CPU. Take a look at this screenshot.

 

 

 

monitor2.jpg

 

 

 

Given that the largest server at the time of this shot is a 32man DoD server which is full. This is a dual 3.0Ghz Xeon machine. I doubt that all the load on CPU0 is just from that server. Why doesn't windows take everything else besides that one process and shift it over to the others that are doing almost nothing.

 

 

 

I have the affinity set to CPU0,CPU1,CPU2 for all game servers, and have CPU3 reserved to my TeamSpeak processes.

 

 

 

Is there anything I can do to make this load issue better. Would it be better to turn of hyperthreading and just have two CPUs? I find that when one CPU gets up that high, the servers even on other CPUs start getting high latency and get sluggish.

Link to comment
Share on other sites

It is probably that CPU affinity only works for 1 CPU.

 

 

 

You set a single process to be affinited on a single CPU

 

 

 

Since you are checking CPU0 for all of them, they are all running on that CPU.

 

 

 

That is why it is better to just let the OS pick it, and to turn off hyper threading, expecially if you are running Battlefield 2 servers.

 

 

 

 

 

Now you know, and knowing is half the battle.

Link to comment
Share on other sites

  • 2 weeks later...

I think you are misunderstanding the balancing. You cannot set the affinity to 3 out of the 4 virtual CPUs. It can be set to ONE virtual or actual CPU, or you can leave it unchecked , in which case it lets windows do the balancing.

 

 

 

If you check 1,2,3 it will simply bind to CPU1 not 1, 2 and 3.

 

 

 

 

 

 

Link to comment
Share on other sites

I just found this on srcds.com

 

 

 

"This would be correct if Windows was able to automatically move processes from one CPU to the next while they were running, but it can't.

 

 

 

So, using your own logic, if a server is freshly booted and all of the hosted servers need to be started, Windows will place each processes on CPU1 because all of the SRCDS processes will be idle, hence no activity. This will remain the same with little or no people playing on the servers. Now with 10 servers running on CPU1, what happens when they are all full? lag/crash/etc."

 

 

 

Is this true? If this is the case then wouldn't leaving all the affinities blank to let windows decide be bad?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use