2017-09-04 52 views
1

从詹金斯在CentOS 7.3运行SonarQube 5.6.6,我得到了以下错误:如何在处理大型分析报告时避免OutOfMemoryErrors?

2017.09.01 19:05:16 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AV485bp0qXlQ-QPWWE9A
java.lang.OutOfMemoryError: Java heap space
2017.09.01 19:05:17 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Executed task | project=PP::Symphony3M | type=REPORT | id=AV485bp0qXlQ-QPWWE9A | time=74089ms

sonar.ce.javaOpts设置如下图所示:

sonar.ce.javaOpts=-Xmx60g -Xms1g -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true

我多少堆空间应该给SonarQube,当分析一百万LOC项目?或者有避免Java堆空间问题的另一种方法?

+1

也许你应该把你的项目分成逻辑部分。 –

+0

分析结果如何连接? – HenryK

回答

0

您可以分配的最大堆量取决于服务器上的免费Ram。 free命令可以帮助识别统计信息。基于免费Ram,您可以设置您的Xmx值。

顺便说一句,确保代码编译在服务器上。如果你能够编译而不扫描,那么只有增加堆将会有所帮助。

+0

该项目可以建立在具有64GB内存的服务器上。 – HenryK

相关问题