我在对项目进行声纳分析时得到OutOfMemoryException
。 Jenkins作业显示分析报告已成功生成,但在SonarQube
的后台任务期间,它失败并出现以下异常。
2016.08.24 10:55:52 INFO [o.s.s.c.s.ComputationStepExecutor] Compute comment measures | time=14ms
2016.08.24 10:56:01 INFO [o.s.s.c.s.ComputationStepExecutor] Copy custom measures | time=9075ms
2016.08.24 10:56:02 INFO [o.s.s.c.s.ComputationStepExecutor] Compute duplication measures | time=150ms
2016.08.24 10:56:34 ERROR [o.s.s.c.c.ComputeEngineContainerImpl] Cleanup of container failed
java.lang.OutOfMemoryError: GC overhead limit exceeded
2016.08.24 10:56:34 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVa6eX7gdswG1hqK_Vvc
java.lang.OutOfMemoryError: Java heap space
2016.08.24 10:56:34 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Executed task | project=iServe | id=AVa6eX7gdswG1hqK_Vvc | time=53577ms
答案 0 :(得分:0)
嗨我在两个不同的情况下以两种方式解决了这个问题,我发现了这个问题
案例:使用jenkins时::前段时间我也遇到了这个问题,我的声纳分析在命令行上工作正常,但是jenkins失败了,你可以用-Xms256m -Xmx1024m替换%SONAR_RUNNER_OPTS%来增加sonar-runner bat文件中的堆大小。
案例:当使用命令行::我在使用cmd行运行声纳分析时也遇到了这个错误,其中cas解决方案是创建更多的模块,它以某种方式工作,我不知道java出了mem错误。
希望有所帮助:)
答案 1 :(得分:0)
我遇到了类似的问题,并在 JVM选项中添加了-Xmx2048m -XX: MaxPermSize = 1024m
,扫描过程也顺利进行。
答案 2 :(得分:0)
我知道这很晚,但可能对某人有所帮助:
尝试增加 MaxPermSize
我在 sonar.properties 文件的 JVM选项(web / ce / Elastic搜索)下有这些配置: -
sonar.web.javaOpts = -Xmx8512m -Xms512m -XX:MaxPermSize = 1024m / sonar.ce.javaOpts = -Xmx8512m -Xms512m -XX:MaxPermSize = 1024m / sonar.search.javaOpts = -Xmx8512m -Xms512m -XX:MaxPermSize = 1024m
对我而言,它实际上与&#; 1024m'一起使用,只是因为我的项目中有多个模块,只是作为提示我的服务器也需要相同的部署大小。
答案 3 :(得分:0)
我使用docker-compose,此选项非常适合我。
PyType_GenericNew
您可以汇总内存大小。