Does the server use more than 1 core?
Jackall
Join Date: 2012-11-09 Member: 168853Members
I am hosting a server on Windows 2008R2 and this is my task manager:
<img src="http://freeurl.ws/task.png" border="0" class="linked-image" />
As you can see, only 1 core is being used. Of course that one core fluctuates but it only uses that one core.
Is this by design or is there a setting for using multicores?
<img src="http://freeurl.ws/task.png" border="0" class="linked-image" />
As you can see, only 1 core is being used. Of course that one core fluctuates but it only uses that one core.
Is this by design or is there a setting for using multicores?
Comments
hmmm that just... sucks.
Prob a stupid question to ask but can you run two games on one computer and have them point at different cores?
Prob a stupid question to ask but can you run two games on one computer and have them point at different cores?<!--QuoteEnd--></div><!--QuoteEEnd-->
Go to task manager=>Processes=>Set Affinity
It does use more than 1 core, lightly multi-threaded (in this case) means that its able to use multiple cores. Go to processes, and you will see server.exe using more than 25% (when tyhe server is sufficiently loaded).
<!--quoteo(post=2018150:date=Nov 10 2012, 10:24 PM:name=Jackall)--><div class='quotetop'>QUOTE (Jackall @ Nov 10 2012, 10:24 PM) <a href="index.php?act=findpost&pid=2018150"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->hmmm that just... sucks.
Prob a stupid question to ask but can you run two games on one computer and have them point at different cores?<!--QuoteEnd--></div><!--QuoteEEnd-->
Yes, as answered below, but..
<!--quoteo(post=2018177:date=Nov 10 2012, 11:01 PM:name=101ways2pwn)--><div class='quotetop'>QUOTE (101ways2pwn @ Nov 10 2012, 11:01 PM) <a href="index.php?act=findpost&pid=2018177"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Go to task manager=>Processes=>Set Affinity<!--QuoteEnd--></div><!--QuoteEEnd-->
That is the answer to his question, but if you do this you will limit the ability for the server process to utilize other functions on the other cores.
Sure, the majority of the bottleneck is that the gamecode is running on 1 core, but there are other threads (networking? physic? I dont know) that can and do use the other cores. When you limit your server.exe process to one core, you are lowering the tickrate of your server. This is a fact, and cannot be reasonably debated. You can, however, limit it to two cores, and that will not limit performance, but it hasn't been shown why you would set affinity at all. Windows will handle your SMP without issues.
Yes, as answered below, but..
That is the answer to his question, but if you do this you will limit the ability for the server process to utilize other functions on the other cores.
Sure, the majority of the bottleneck is that the gamecode is running on 1 core, but there are other threads (networking? physic? I dont know) that can and do use the other cores. When you limit your server.exe process to one core, you are lowering the tickrate of your server. This is a fact, and cannot be reasonably debated. You can, however, limit it to two cores, and that will not limit performance, but it hasn't been shown why you would set affinity at all. Windows will handle your SMP without issues.<!--QuoteEnd--></div><!--QuoteEEnd-->
No multithreading on the 32-bit exe usually means there is no other processes running on different core. Hence the issues with performance on multicored systems. Close, but no cigar. <b>Setting affinity does not say you are setting the exe to 1 core only</b>! Multi-core processors like mine (6 cores) I can set 2,3,4,5,6 cores individually to handle my 2 instances of the server. "This is a fact and cannot be reasonably debated" is a <u><b>hilarious</b></u> thing to say when you are not presented with all the information. I stream and run multiple servers for multiple games on multiple Dell Poweredge servers (I own , I don't rent!) with (drum roll) multi-core processors. Setting affinity not only improves performance, it allows for multi-tasking many programs efficiently. <b>BTW, most cores are NOT arranged in order</b> - 1,2,3,4,5,6 - they have matched threading so another words affinity set to 1,3 (as opposed to 1,2) might be the most optimal. Please refer to Google to see which cores in affinity should match with which to get the most out of this process (processor dependent). So the information I gave cannot be debated or denied! LOL soo funny had to put that!
<b>Point Being: set up using affinity / set more than 1 core per instance just to be safe / Set priority on instances to HIGH / profit!</b>
Setting an affinity means that you think YOU know more than the operating system about how to best use the resources available to it. And, as I said, unless you're working around a known bug, you don't.
EDIT: There are a few scenarios in hosting or virtualization environments when you might want to do this for isolation reasons, but even then you'd be taking a performance hit by preventing the system from taking advantage of idle resources. The only time limiting the affinity would have a performance advantage is if you're dealing with an incredibly excessive number of context switches.
Setting an affinity means that you think YOU know more than the operating system about how to best use the resources available to it. And, as I said, unless you're working around a known bug, you don't.
EDIT: There are a few scenarios in hosting or virtualization environments when you might want to do this for isolation reasons, but even then you'd be taking a performance hit by preventing the system from taking advantage of idle resources. The only time limiting the affinity would have a performance advantage is if you're dealing with an incredibly excessive number of context switches.<!--QuoteEnd--></div><!--QuoteEEnd-->
yup, for the most part. The OP was about singling out cores for use. <u>See this:</u> <a href="http://en.wikipedia.org/wiki/Processor_affinity" target="_blank">http://en.wikipedia.org/wiki/Processor_affinity</a> for a complete definition. However, I stand on what I know works and how I do it. Yes, this is a "workaround" for a program (NS2) that has no real multi-threading enabled.
I am 100% correct in that you can (and I have on SEVERAL occasions) select cores to make the system perform better AT ITS INDIVIDUALLY ASSIGNED TASK.
Spreading through all cores at all times when trying to run multiple instances on a program that has no multi-threading is as good as a solar powered flashlight.
<b>Example:</b>
I stream on Twitch.tv (1080p at 30fps and 720p at 60fps sometimes)
X-split is VERY heavy when <u>capturing and encoding</u>
My games lose fps when streaming
Selecting cores to handle x-split and cores to handle just game restricts the scheduling system ON PURPOSE.
Result: Lower FPS drop when playing and no stutter when streaming
<b>The counter position on affinity:</b>
I run an Avermedia c985 card now ( I got it free so why not?).... My affintiy is set to across all cores because I do not need to limit it due to the processing resources. The capture card now does the work freeing up the cores to do their other business.
There are SEVERAL other examples on the web showing how gamers are using these settings for both serving games and running the game clients. Our DayZ server does this exact thing to get by ARMA II's demanding processes when running a 50 slot server. Result there? We can (and have) run all 50 slots with minimal lag for our players.
That's all I can contribute for now. Make up your own mind. But more importantly, do some research for yourself. There are plenty of differing opinions on how things work or what is best on the Internet. :)
quad core, 3 servers and 1 for OS
hexa core, 5 servers and 1 for OS
octa core, 7 servers and 1 for OS
deca core, 9 servers and 1 for OS
I take it those are the usual configs, well quad cores and hexa cores mostly :P
That being said, the OS will still use your cores as it sees fit its just the app set as affinity cannot.
I stated a fact, and an invitation to debate whether setting the server.exe process to a single core, will limit performance, but you appeared not to have brought up any reason or explanation of why this would or wouldn't improve performance?
Please don't tell me you are taking about an instance where the server is highly overloaded, and you are using affinity to provide the process with enough power. I guess its open to interpretation, but I'll be more specific, and you can tell me if you agree with the following statement.
If you have a 6 core cpu, and you run only 1 real program on the server (server.exe), with no other highly demanding services, or anything but the required components that make up a windows server, then you will limit your tickrate, and provide a sub-optimal performance to the people playing on your server by setting affinity of that process to a single core.
Is that a statement you can agree with? I don't understand why you brought up running streaming, of course if you are doing additional work that robs power from your main process, then you will limit performance.
The NS2 dedicated server will take advantage of multiple threads but not cores, the developers said they will jump at the chance to add multiple core support if the opportunity arose.
The server does take advantage of multiple cores. Just not for the main LUA thread, there are other calculations running on additional cores. I've seen utilization peak at 35% (of a quad core), so an entire core, and another 40% of a 2nd core.
This is the exact same behavior I've noticed. Since build 227, the utilization on the second core has gone up slightly. I've had to limit the affinity to two cores because it began to interfere with our other servers.
^Yup. Now your in for a debate (not by me). LOL ;)
FSX <u>as an example</u>.
some info: <a href="http://www.realenvironmentxtreme.com/forums/index.php?/topic/13514-affinity-tweak-question/" target="_blank">http://www.realenvironmentxtreme.com/forum...tweak-question/</a>
Again, case in point..only for certian programs or limitations and even then it depends on processor type and operating system. Can it be done? YES We are all now officially beating a dead horse since for the most part we all agree. Just depends WHAT programs you are running and HOW you are running them.
E3-1270 with 3 servers at 22 man - (cores 2,3 - 4,5 - 6,7) - works.... but when all 3 servers are packed and towards the end of the game... **** my life. (cores 0,1 reserved for system and wine). Performance dropped to lower 30s.
Setting only 2 servers of 22 man (2,3,4 and 5,6,7) works muuuuuuch better. Performance averages around 80-90 when both are loaded and towards end of game (# entities way up there).
I'll do the overclock soon and see if i can stick with 2x 24mans. (i know, i can only overclock to 3.8GHz - turbo limit - from 3.4, but still a 10%+ boost)