1

在 CentOS 7.3 上从 Jenkins 运行 SonarQube 5.6.6,我收到以下错误:

2017.09.01 19:05:16 错误 [ossctCeWorkerCallableImpl] 无法执行任务 AV485bp0qXlQ-QPWWE9A
java.lang.OutOfMemoryError:Java 堆空间
2017.09.01 19:05:17 错误 [ossctCeWorkerCallableImpl] 执行任务 | 项目=PP::Symphony3M | 类型=报告 | id=AV485bp0qXlQ-QPWWE9A | 时间=74089ms

sonar.ce.javaOpts设置如下:

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

在分析一百万个 LOC 项目时,我应该给 SonarQube 多少堆空间?还是有另一种避免 Java 堆空间问题的方法?

4

1 回答 1

0

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

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

于 2017-09-06T20:30:04.353 回答