Jump to content
Sign in to follow this  
rlex

arma 3 server doesn't want to use whole CPU

Recommended Posts

So i have a server at home, this is Xeon-E3 1230v2 CPU. 32GB RAM.

It hosts ESXi 5.5 with some VMs which doesn't have anything to deal with Arma, but there is windows VM with 4 cores dedicated to that VM.

I noticed that arma3server.exe CPU usage never goes to more than 40%, which is annoying since sometimes, when ALiVE spawns units, game can lag for a second.

Any tips? Tried -exThreads and -cpuCount (heard they obsolete but still).

This VM can use all 4 cores (tested with some CPU benchmarks), it's only arma server process which can't.

Share this post


Link to post
Share on other sites

Arma usually never maxes out on all cores since some things are not multi-threaded, for example the AI. That's why with a lot of units usually one core will max out while the others stay at around 20-40%. You can try using a headless client (or multiple) and optimizing your basic.cfg to get more performance.

Share this post


Link to post
Share on other sites

Did you Setup your CPU in Bios on Max.Standart Glock? I couldn't observ that ESXi is scaling the CPU Glock. Maybe i do something wrong maybe you can help?

To maximize the CPU usage is only possible with HCs, sometimes multiple ones.

Maybe the best option is to make a little DebianVM as Subnet with Arma3server and setting the CPU affinity manually to core 2+3 and let it run only for HCs.

Arma3server is using the same 4GB RAM pool for every client running in the same environment, so theoretically the best way could be for every Client and Server his own VM.

Not tested (yet). With Luck i become the next few Weeks a 6 Core Server and can try.

Arma 3 Headless Client Guide

http://forums.bistudio.com/showthread.php?188710-Arma3-Headless-Client-Guide

Share this post


Link to post
Share on other sites
Did you Setup your CPU in Bios on Max.Standart Glock? I couldn't observ that ESXi is scaling the CPU Glock. Maybe i do something wrong maybe you can help?

To maximize the CPU usage is only possible with HCs, sometimes multiple ones.

Maybe the best option is to make a little DebianVM as Subnet with Arma3server and setting the CPU affinity manually to core 2+3 and let it run only for HCs.

Arma3server is using the same 4GB RAM pool for every client running in the same environment, so theoretically the best way could be for every Client and Server his own VM.

Not tested (yet). With Luck i become the next few Weeks a 6 Core Server and can try.

Arma 3 Headless Client Guide

http://forums.bistudio.com/showthread.php?188710-Arma3-Headless-Client-Guide

Don't you need to adjust every mission to use headless client?

Share this post


Link to post
Share on other sites

Of course. Just joining them don't do the job. With silent map converter you can control very well what content is on which HC. If your using only a few Mods or vanilla you can use the "auto balance switch ai to HC" script out of the MCC thread.

And I found my error with the turbo boost of Intel in exsi. Had to change the energy management to "max performance". But only 3,6Ghz and not 3,8Ghz max. But worth the shot.

Share this post


Link to post
Share on other sites

custom memory allocator for arma 3 , based on tbbmalloc 4.2 (intel)

https://github.com/fred41/tbbmalloc_arma

C:\Program Files (x86)\Steam\steamapps\common\Arma 3 Server\arma3server.exe" -port=2302 "-config=C:\Users\Administrator\Desktop\configs\SAF\SAF_config.cfg" "-cfg=C:\Users\Administrator\Desktop\configs\SAF\SAF_basic.cfg" "-profiles=C:\Users\Administrator\Desktop\configs\SAF" " -maxMem=2047 -world=empty -cpuCount=16

If your running more than 8GB Ram then apply this to the end of the launch line:

"-maxMem=8192"

This will allow your game to utilize 8GB system Ram instead of 4GB.

______________________________________________

Intel CPU:

For Hyperthreaded CPU's such as a Quad Core you will apply this:

-cpuCount=8

This will enable your Hyperthreads on your CPU so your CPU will act as an eight core when running Arma 3.

If you are running a Hyperthreaded Six Core then:

-cpuCount=12

If you are running a Hyperthreaded Eight Core or Eight Core Xeon then apply this:

-cpuCount=16

If you are running just a non Hyperthreaded CPU such as a Quad Core then select "4" instead of "8" same for a Dual Core you will select "2" instead of "4".

All AMD CPU's are NOT Hyperthreaded so Hyperthreaded options is highly not recommended as this can cause system failure or damage.

I will not be responible for system failure and damage if you choose to select more cores then you have on your command line!

-high:

makes your operating system prioritize services and processes to run your game better but this can cause system failure and instability if you dont have a good running system. If you Overclock this can cause system instability.

-noSplash:

disables startup videos and advertisements.

-cpuCount=#:

enables extra CPU cores and Hyperthreads.

-maxMem=#:

when set to "6144" (6GB) and up lets your game use more system Ram then 4GB.

Do not set to higher than 4GB if you dont have at least 8GB. You can set to "8192" (8GB) if you have 12GB+ Ram.

:yay:

Edited by claws01

Share this post


Link to post
Share on other sites

Outdated ram allocator, CPU count isn't efficient on arma 3 server. I'm sure even hyper threading isn't useful. You can have so many cpus or threads but arma isn't made for this. 32bit guys! I did read somewhere an 64bit server ist internal in experimental phase but release isn't a word you should be thinking. Don't count on that. Use CPU with high single core glock like i7 with 3,8Ghz+ and headless clients.

Right know that's the way!

Share this post


Link to post
Share on other sites

Linux server seems to be performing a bit better, but it crashes with some addon :(

Share this post


Link to post
Share on other sites

Its the same story client and server, it uses a bit over 1 core. We have profile traces for the client from the debug builds of the game that show why that is the case (the game is more or less single threaded except in the rendering stage) and so we can be pretty confident the server runs basically the same way and hence is mostly single threaded. This is why it doesn't use those cores, the best way is HC for when the AI is your issue.

Share this post


Link to post
Share on other sites

Hi!

I'm currently running an ALiVe Mission with about 1200 AI, covering whole Altis. My Server is an older I7 Model with 4 Cores / 8 Threads, running at about 4,3 GHz with 16GB RAM. I noticed that the Server only runs this Mission at about 20 FPS at best, and looking at the Stats I can see that even the first of the Cores is running at only 50-60%. So I assume there's still a lot of unused potential left in the Server even without using a HC, just by maxing out one of the Cores, but I have no clue how to make ArmA use at least one Core at 100%. Any suggestions?

I'm using the exThreads 7 + CPUCount 8 + custom Memory Allocator command line options. The Client is connected with local 1GB LAN to the Server.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×