TeamCity如何设置JVM参数

12

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

-Xmx512m -XX:MaxPermSize=270m

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

我在这里读到 https://confluence.jetbrains.com/display/TCD8/Installing+and+Configuring+the+TeamCity+Server#InstallingandConfiguringtheTeamCityServer-SettingUpMemorysettingsforTeamCityServer 最低建议设置为:-Xmx750m -XX:MaxPermSize=270m。

我应该在哪里更改此设置?

3个回答

5

在JVM启动后读取内部属性,因此如果按照另一个答案的建议设置堆设置,则不会生效。我正在研究如何为TeamCity容器进行此操作,最佳选择似乎是使用环境变量 (TEAMCITY_SERVER_MEM_OPTS)。对于容器,可以通过创建容器时传递-e TEAMCITY_SERVER_MEM_OPTS='...'来设置这些变量。


4
在TC9+中,可以在TC Server GUI中设置此变量: 管理 -> 诊断 -> 内部属性 -> 编辑内部属性
对于64位JVM,建议的设置是:
TEAMCITY_SERVER_MEM_OPTS=-Xmx4g -XX:MaxPermSize=270m -XX:ReservedCodeCacheSize=350m

只需将此行添加到“内部属性编辑框”中即可。

3

我建议在启动脚本(start.sh)中添加JVM内存选项,以使用变量TEAMCITY_SERVER_MEM_OPTS进行服务器启动。请勿在运行teamcity的用户ID的配置文件中设置它。

这个链接应该对你有所帮助。

如果您想为服务器和代理设置不同的内存设置(通常是这种情况),请在命名变量时进行选择,以便在识别服务器和代理启动的JVM选项时有所区别。

作为团队城市设置的经验法则,我通常让我的团队城市服务器比我的平均使用率多20%,以应对高峰期间任何增加的负载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接