我们有一个庞大的TeamCity Server(10.0.3),大约有2.000个构建配置和大约50个构建代理。
我们经常遇到一些性能问题,垃圾收集。
在teamcity-server.log
内,我们发现了这个:
[2017-11-28 12:30:54,339] WARN - jetbrains.buildServer.SERVER - GC usage exceeded 50% threshold and is now 60%. GC was fired 82987 times since server start and consumed total 18454595ms. Current memory usage: 1.09 GB.
我们无法找出问题的根源。
根据Documentation,应该使用64位版本的Java,只有4g RAM。我们遇到了一些问题,并决定使用-Xmx6g参数。
你知道我们在哪里可以启用/找到更多的痕迹来找出我们过度消耗内存的来源吗?
答案 0 :(得分:1)
首先,您可以尝试禁用第三方插件,看看它是否有帮助。
然后,您尝试根据this blog post对服务器进行基准测试,并查看增加的内存限制是否会改善情况。
但调查内存过度消耗的最佳方法是捕获内存转储并使用分析工具调查内容。您可以从管理|创建内存转储服务器管理|使用转储内存快照按钮在TeamCity Web UI的诊断页面。
您可以自行调查转储或将其发送给Jetbrains进行调查。