TeamCity如何设置JVM参数

SLi*_*mke 6 teamcity jvm jvm-arguments

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

-Xmx512m -XX:MaxPermSize = 270m

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

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

我如何/在哪里更改此设置?

小智 5

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


Bis*_*_86 3

我建议在启动脚本 (start.sh) 中添加 JVM 内存选项,以便使用变量进行基于服务器的启动TEAMCITY_SERVER_MEM_OPTS . Please do not set it in the profile of the userid that runs teamcity.

这个链接 should be helpful to you.

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

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