处理大分析报告时如何避免OutOfMemoryErrors?

时间:2017-09-04 04:14:32

标签: sonarqube sonarqube5.6

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

  

2017.09.01 19:05:16 ERROR [o.s.s.c.t.CeWorkerCallableImpl]执行任务失败AV485bp0qXlQ-QPWWE9A
  java.lang.OutOfMemoryError:Java堆空间
  2017.09.01 19:05:17错误[o.s.s.c.t.CeWorkerCallableImpl]执行任务| project = PP :: Symphony3M | type = REPORT | id = AV485bp0qXlQ-QPWWE9A |时间= 74089ms

sonar.ce.javaOpts设置如下:

  

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

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

1 个答案:

答案 0 :(得分:0)

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

BTW,确保代码在服务器上编译。如果你能够编译而不是扫描,那么只有增加堆才有帮助。