TeamCity On-Premises 2024.03 Help

Configuring TeamCity Server Startup Properties

Various aspects of a TeamCity server behavior can be customized through options passed on its start:

  • Internal properties affecting TeamCity itself

  • Java Virtual Machine (JVM) properties

TeamCity Internal Properties

TeamCity has internal configuration properties which affect various aspects of the internal logic. These are normally meant for debugging, changing internal constants, or enabling experimental behavior.

Please do not change internal properties unless asked by the TeamCity support team. If you have internal properties customized, make sure to note this when you contact the TeamCity support.

Server administrators can review and edit internal properties in the TeamCity UI. To do this, go to Administration | Server Administration | Diagnostics | Internal Properties and click Edit internal properties.
Many properties do not require the server restart, but some do. When the restart is required, it is usually specifically noted.

The properties are stored in the <TeamCity Data Directory>/config/internal.properties file. This is a Java properties file. You can edit the file manually and add each <property_name>=<property_value> on a separate line.

An alternative but obsolete method of adding an internal property is to pass it as a -D<name>=<value> JVM option (see the section below).

JVM Options

If you need to pass additional JVM options to a TeamCity server (for example, -D or -X...), the approach will depend on the way the server is run. You will need to restart the server for the changes to take effect.

If you run the server using the runAll or teamcity-server scripts or as a Windows service, you need to set the options via the OS environment variables passed to the TeamCity server process:

  • TEAMCITY_SERVER_MEM_OPTS — server JVM memory options (for example, -Xmx750m).

  • TEAMCITY_SERVER_OPTS — additional server JVM options (for example, -Dteamcity.git.fetch.separate.process=false).

The process of setting an environment variable depends on your operating system. For example, in Windows, go to Control Panel\System and Security\System and open Advanced system settings | Environment Variables.

Make sure the environment variables are set for the user whose account is used to run TeamCity or as global environment variables. You might need to restart the OS then — for the changes to take effect.

Last modified: 07 September 2023