TeamCity如何设置JVM参数

TeamCity如何设置JVM参数,jvm,teamcity,jvm-arguments,Jvm,Teamcity,Jvm Arguments,我的teamcity构建服务器具有以下JVM参数: -Xmx512m-XX:MaxPermSize=270m 有时它会显示一些内存问题消息,如“PS Old Gen池的TeamCity服务器内存使用量超过最大可用341 MB的91%。在506 MB总可用堆中使用437 MB。有关可能的解决方案,请参阅TeamCity文档。” 我在这里了解到,建议的最低设置是:-Xmx750m-XX:MaxPermSize=270m 如何/在何处更改此设置?我建议使用变量TEAMCITY\u server\u M

我的teamcity构建服务器具有以下JVM参数:

-Xmx512m-XX:MaxPermSize=270m

有时它会显示一些内存问题消息,如“PS Old Gen池的TeamCity服务器内存使用量超过最大可用341 MB的91%。在506 MB总可用堆中使用437 MB。有关可能的解决方案,请参阅TeamCity文档。”

我在这里了解到,建议的最低设置是:-Xmx750m-XX:MaxPermSize=270m


如何/在何处更改此设置?

我建议使用变量
TEAMCITY\u server\u MEM\u OPTS在启动脚本(start.sh)中为基于服务器的启动添加JVM内存选项。请不要在运行teamcity的用户ID的配置文件中设置它

这应该对你有帮助

如果您希望服务器和代理的内存设置不同(通常是这样),请有选择性地命名变量,以便在识别服务器和代理启动的JVM选项时有所不同


作为teamcity设置的经验法则,我通常让我的teamcity服务器比我的平均使用量多20%的内存,以考虑在高峰使用期间任何增加的负载。

在TC9+中,可以在TC server GUI中设置此变量: 管理->诊断->内部属性->编辑内部属性

对于64位JVM,建议的设置为:

TEAMCITY_SERVER_MEM_OPTS=-Xmx4g -XX:MaxPermSize=270m -XX:ReservedCodeCacheSize=350m

只需将这一行添加到记录的内部属性编辑框中,Igor的答案是错误的。不知道为什么投票结果会被提高。我不能评论或否决投票,因为我的代表人数太少。但是,内部属性是在JVM启动后读取的,因此堆设置如果放在那里就不会生效。我正在研究如何为TeamCity集装箱做到这一点。最好的选择似乎是使用环境变量(TEAMCITY\u SERVER\u MEM\u OPTS)。对于容器,可以通过在创建容器时传递-e TEAMCITY_SERVER_MEM_OPTS='…'来设置这些参数