Sonarqube sonar findbugs堆大小

Sonarqube sonar findbugs堆大小,sonarqube,findbugs,Sonarqube,Findbugs,我不熟悉声纳。我在用sonar pulgin运行Jenkins的sonar 当我从jenkins运行时,findbugs出现内存不足异常 以下是错误: Out of memory Total memory: 1037M free memory: 30M Analyzed: D:\Victor\autocreated\webapp\WEB-INF\classes Aux: C:\DOCUME~1\NADBHA~1\LOCALS~1\Temp\findbugs4165854405681

我不熟悉声纳。我在用sonar pulgin运行Jenkins的sonar

当我从jenkins运行时,findbugs出现内存不足异常

以下是错误:

 Out of memory
Total memory: 1037M
 free memory: 30M
Analyzed: D:\Victor\autocreated\webapp\WEB-INF\classes
     Aux: C:\DOCUME~1\NADBHA~1\LOCALS~1\Temp\findbugs4165854405681394173.jar
     Aux: C:\DOCUME~1\NADBHA~1\LOCALS~1\Temp\findbugs4688505485649811865.jar
Total time: 2:04:49.155s
Final Memory: 358M/989M
Exception in thread "main" org.sonar.batch.bootstrapper.BootstrapException: org.sonar.api.utils.SonarException: Can not execute Findbugs
    at org.sonar.runner.Runner.delegateExecution(Runner.java:189)
    at org.sonar.runner.Runner.execute(Runner.java:78)
    at org.sonar.runner.Main.main(Main.java:61)
Caused by: org.sonar.api.utils.SonarException: Can not execute Findbugs
    at org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.java:120)
    at org.sonar.plugins.findbugs.FindbugsSensor.analyse(FindbugsSensor.java:58)
    at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:64)
    at org.sonar.batch.phases.Phases.execute(Phases.java:93)
    at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:143)
    at org.sonar.batch.bootstrap.Module.start(Module.java:83)
    at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:111)
    at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:101)
    at org.sonar.batch.bootstrap.Module.start(Module.java:83)
    at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:102)
    at org.sonar.batch.bootstrap.Module.start(Module.java:83)
    at org.sonar.batch.Batch.execute(Batch.java:100)
    at org.sonar.runner.Launcher.executeBatch(Launcher.java:65)
    at org.sonar.runner.Launcher.execute(Launcher.java:58)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.sonar.runner.Runner.delegateExecution(Runner.java:186)
    ... 2 more
Caused by: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
    at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.java:112)
    ... 20 more
Caused by: java.lang.OutOfMemoryError: Java heap space
我的声纳版本是2.13

当我将Jenkins sonar插件中的jvm选项增加到1280时,错误如下所示:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit`enter code here`

是的,如果分析的代码库很大,sonar findbugs执行器可以使用大量RAM

您不仅必须增加JVM可用的堆大小,还必须增加“”和“”(至少对于Java Hotspot VM)。必须在实际执行FindBugs sonar执行器的JVM上设置JVM选项。所以可能不是Jenkins虚拟机,而是Jenkins开始工作的虚拟机

以下是64位系统的示例:

-Xmx3062m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=128m
在32位系统上(我假设您正在使用),您会选择较低的值,例如:

-Xmx1536m -XX:MaxPermSize=384m -XX:ReservedCodeCacheSize=128m

此外,如果Jenkins不接受JVM选项,您可以尝试使用Jenkins提供的sonar ant任务运行sonar。(这就是我正在做的,我可以设置任意多的内存。)

您的机器有多少内存?1280似乎比可用的1037多。您可以发布您设置的JVM选项吗?通过Jenkins提供的MAVEN_选项尝试了所有这些设置,但不幸的是没有成功:(有人解决了这个问题吗?我还通过gitlab-cli.yml文件提供的MAVEN_选项尝试了所有的bellow设置。