GC开销限制超出了5.5版中的运行后台任务

时间:2016-05-09 16:35:51

标签: sonarqube sonarqube-5.5

我正在使用以下包装器配置设置运行SonarQube 5.5。

wrapper.java.initmemory=3
wrapper.java.maxmemory=4096

我仍然得到以下堆栈跟踪,这个项目已经成功运行了sonarqube 5.3。

2016.05.09 11:14:09 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute coverage measures | time=105ms
2016.05.09 11:14:09 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute comment measures | time=120ms
2016.05.09 11:14:14 INFO  [o.s.s.c.s.ComputationStepExecutor] Copy custom measures | time=5667ms
2016.05.09 11:14:15 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute duplication measures | time=424ms
2016.05.09 11:14:26 ERROR [o.s.s.c.c.ComputeEngineContainerImpl] Cleanup of container failed
java.lang.OutOfMemoryError: GC overhead limit exceeded
2016.05.09 11:14:26 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVSWNiXkOySW07vtMalp
java.lang.OutOfMemoryError: GC overhead limit exceeded
    at java.util.Arrays.copyOfRange(Arrays.java:3664) ~[na:1.8.0_45]
    at java.lang.StringBuffer.toString(StringBuffer.java:671) ~[na:1.8.0_45]
    at java.io.StringWriter.toString(StringWriter.java:210) ~[na:1.8.0_45]
    at org.apache.commons.lang.Entities.escape(Entities.java:838) ~[commons-lang-2.6.jar:2.6]
    at org.apache.commons.lang.StringEscapeUtils.escapeXml(StringEscapeUtils.java:620) ~[commons-lang-2.6.jar:2.6]
    at org.sonar.server.computation.step.DuplicationDataMeasuresStep$DuplicationVisitor.appendDuplication(DuplicationDataMeasuresStep.java:129) ~[sonar-server-5.5.jar:na]

1 个答案:

答案 0 :(得分:9)

内存调整必须在sonar.properties

中进行
  • sonar.web.javaOpts(适用于Web服务器JVM)
  • sonar.ce.javaOpts(适用于计算引擎JVM)
  • sonar.search.javaOpts(对于运行ElasticSearch的JVM)。

在您的情况下,后台任务中会发生内存异常,因此它与计算引擎相关(有关更多信息,请参阅SonarQube architecture)。

wrapper.conf中的设置与此处无关,应保持不变(因此文件中出现# DO NOT EDIT THE FOLLOWING SECTIONS警告)。