You are viewing the documentation of TeamCity 10.x and 2017.x, which is not the most recently released version of TeamCity.
View this page in TeamCity 2018.1 documentation or refer to the listing to choose the documentation corresponding to your TeamCity version.

Skip to end of metadata
Go to start of metadata

Various aspects of TeamCity behavior can be customized through a set options passed on a TeamCity server start. These options fall into two categories: affecting Java Virtual Machine (JVM) and affecting TeamCity behavior.


You do not need to specify any of the options unless you are advised to do by the TeamCity support team or you know what you are doing.

In this section:

TeamCity internal properties 

TeamCity server has some configuration properties that are visible in the UI only to the Server Administrators. These are normally meant for debugging, changing internal constants or enabling an experimental behavior. Please do not change the internal properties unless asked by TeamCity support.

If you have internal properties customized, make sure to note this when you turn to the TeamCity support.

You can review and edit internal properties in the TeamCity web UI: go to the Administration | Server Administration | Diagnostics page, select the Internal Properties tab and click Edit internal properties.
Many properties do not require the server restart, but some do.

The properties are stored in the <TeamCity Data Directory>/config/internal.properties file. The file is a Java properties file. Create the file and add a required property <property name>=<property value> on a separate line.

An alternative but obsolete way to add 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 (e.g. -D options mentioned at Reporting Issues or any non-"-D" options like -X...), the approach will depend on the way the server is run. If you are using the .war distribution, use the manual of your Web Application Server. In all other cases, please refer to the #Standard TeamCity Startup Scripts section below.

For general notes on the memory settings, please refer to Setting Up Memory settings for TeamCity Server.

You will need to restart the server for the changes to take effect.

Standard TeamCity Startup Scripts

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 (e.g. -Xmx750m)
  • TEAMCITY_SERVER_OPTS — additional server JVM options (e.g. -Dteamcity.git.fetch.separate.process=false)

Please 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 reboot the machine after the environment change for the changes to have effect.

See also:



















  • No labels

1 Comment

  1. Would it be possible for someone to provide an exhaustive, centralized list of all the available internal properties and their purpose? At the moment, the definitions for the multiple internal properties are spread across TeamCity release notes, subject-specific wiki pages, YouTrack issues and forum posts. Some of them look almost impossible to find, other than by browsing what little source code is publicly available (ex: rest.buildRequest.delete.limit). It would be really great to have them all listed in one central location...