Limit Service CPU and Memory Usage

If you updated your Windows server to TCAdmin 2.0.142 you must reboot before you can apply memory and CPU limits.

Windows

Limiting a service's CPU usage

The maximum value for CPU limit is 100%. CPU limit is affected by the number of cores assigned to the service or virtual server. For example if the service has 1 core assigned and limit is set to 50% the actual limit is 50% of 1 core.


To set the CPU limit go to the game server's service settings, set the value of CPU limit and save. The CPU limit is applied immediately. The service does not need to be restarted.

Limiting a service's memory and virtual memory

Important notes:

  • If you limit a service's memory it will use more virtual memory. This can increase your server's disk activity.
  • If you set the virtual memory limit too low the service might crash while starting up or it might crash later if it requires more memory than allowed.
  • If you set the virtual memory limit and the service is currently using more than allowed you will have to restart it to apply the limit.
  • If the service starts more than 1 process the memory limit is applied to each process. If the main process uses 100% of the assigned memory the live stats in the control panel will go over 100%. For example if the game server is started with a .bat it will add the memory usage of cmd.exe and the game server's executable.


To set the memory or virtual memory limit go to the game server's service settings, set the values and save. The memory and virtual memory limit is applied immediately. The service does not need to be restarted.

Virtual Servers

Important notes:

  • When a service belongs to a virtual server the memory limit in service settings can't be set higher than the memory assigned to the virtual server.
  • A single process can't use more memory than what is assigned in the virtual server's settings even if there is no limit assigned in service settings.

Linux

Limiting a service's CPU usage

This feature requires cpulimit: https://github.com/opsengine/cpulimit

Each core is 100%. The maximum value is 100 multiplied by the number of cores. For example 200% means 2 full cores.


To set the CPU limit go to the game server's service settings, set the value of CPU limit and save. The CPU limit is applied after the service is restarted.

Limiting a service's memory usage

This feature is currently not supported on Linux.

Billing API

To limit the service's CPU configure your module to send a value for game_cpu

To limit the service's memory configure your module to send a value for game_memory or game_virtual_memory (Windows only)

The billing api supports setting these values when creating a new service and when updating a the settings.

Retrieved from "https://help.tcadmin.com/index.php?title=Limit_Service_CPU_and_Memory_Usage&oldid=1976"