First we need to explain a bit about how we sell CPU resources and a bit about how CPU’s work. On an Intel i7 (which all our gmod servers use) it has 4 cores & 8 threads. An application can use multiple threads on a CPU. On Crident we sell CPU based on threads. So 200% CPU on our Garry’s Mod hosting is the equivalent to a single core on the CPU. It’s also important to note that a single thread can only use 100% CPU max. This isn’t a limit we set – this is just the fact that 100% CPU on Crident equates to a fully maxed out thread.
When we’re working out how much CPU a game server is using, we’re looking at the amount of CPU each thread is using in the service. We work out how much CPU each thread on your service is using, add both threads together and end up with the total amount of “CPU” your server is using. This works nicely, because Garry’s Mod also has two threads. A networking thread and a main game thread. Let’s look at what each of these threads does:
Main Game Thread
This thread does most of the core stuff in the game, including handling all the addons. This will normally be working the hardest of the two. It’s common for this thread to be sitting at around ~60% CPU on busy servers.
The networking thread normally uses up about ~15% on a busy server, but if you leverage it correctly it will work pretty hard. To really take advantage of this thread you need a map properly setup with area portals (PVS).
So the main game thread can use 100% CPU max. Just like the networking thread can use 100% CPU max. This isn’t a limit we set – this is just the fact that 100% CPU on Crident equates to a fully maxed out thread on a CPU.
It’s pretty easy to get the game thread to run at 80-90% CPU if you’re running a lot of addons or a very high tickrate, but to have the networking thread use that much CPU requires a very fancy map or some fancy PVS management in Lua.
One common misconception is that if you have a map with proper area portals – this allows your server to use 200% CPU, and in turn run better. While maps with a lot of area portals can do this; it wont allow the main game thread, which runs the addons, physics, and more to use more than 100% CPU; after all, a thread can only use 100% CPU.
The net result of all the above information is that most game servers will run really well on our 125% CPU Deal package – and unless your server is hitting & sitting at 125% CPU while it’s lagging (Which probably means you have a map with area portals), most servers can’t use more resources to reduce lag. No setup, no dedicated server, no host will be able to “fix” or reduce your servers lag in situations when your server is lagging while sitting at about 100-110% CPU, this just means Garry’s Mod can’t work harder. This isn’t because of any limit we set; it’s just how computers and threads work.
So the takeaway lesson here is that: when a server is lagging while using about ~100% CPU, the only way to try and fix this is to look into the addons on your server. We have a video on using a tool called FProfiler here, which might help you do that. Alternatively, making sure your servers tickrate is no higher than 33 (we advise 22 or 16 lowest) will greatly help with your server performance.