TeamCity On-Premises 2020.2 Help

TeamCity Memory Monitor

TeamCity server checks available memory on a regular basis and warns you if the amount of the memory available is too low.

There are several warning types reported:

Low pool memory

Is reported when memory usage in a single memory pool exceeds 90% after garbage collection. High server activity may cause such memory usage.

Low total memory

Is reported when more than 90% of total memory has been in use during the last 5 minutes and more than 20% of CPU resources are being consumed by garbage collection. Lasting memory lack may result in performance degradation and server instability as well.

Heavy GC overload

Is reported when memory cleaning takes more than 50% of CPU resources on average. It usually means really serious problems with memory resulting in high performance degradation.


Several internal properties can be used to customize the Monitor:

  • teamCity.memoryUsageMonitor.poolNames sets up pool names to track. Case-sensitive comma-separated string is accepted.

  • teamCity.memoryUsageMonitor.warningThreshold allows setting up a minimal warning threshold. Affects all tracked memory pools except for PermGen (replaced with metaspace memory allocation).

  • teamCity.memoryUsageMonitor[<Pool name>].warningThreshold can be used to modify single memory pool threshold. Spaces should be escaped or changed to \ symbols.

  • teamCity.memoryUsageMonitor.gcWarningThreshold allows setting up the allowed percentage of resources to spent for cleaning the memory.

Last modified: 03 March 2021