TeamCity server can run under both the 32- and 64-bit JVM.
It is recommended to use the 32-bit JVM unless you need to dedicate more than 1.2Gb 1Gb of memory (via -Xmx JVM option) to the TeamCity process (see details) or your database requirements are different.
- the 32-bit JVM can reliably work with up to 1Gb heap memory (-
Xmx1024m). (This can be increased to
-Xmx1200m, but JVM under Windows might crash occasionally with this setting.) If more memory is necessary, the 64-bit JVM should be used with not less than 2.5Gb assigned (-
Xmx2500m). ItUnless the TeamCity server runs with more than 100 agents or serves very active builds / thousands of users, it's highly unlikely that you will need to dedicate more than 4Gb of memory to the TeamCity process.
- A rule of thumb is that the 64-bit JVM should be assigned twice as much memory as the 32-bit for the same application. If you switch to the 64-bit JVM, make sure you adjust the memory setting (
-Xmx) accordingly. It does not make sense to switch to 64 bit if you dedicate less than the double amount of memory to the application.