сонар findbugs размер кучи

я новичок в сонар. Я управляю гидролокатором из Дженкинса с гидролокатором Pulgin.

Когда я бегу от Дженкинса, я получаю исключение памяти в findbugs

ниже ошибка:

<code> 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
</code>

мой сонар версия 2.13

когда я увеличиваю параметры jvm в плагине сонара Jenkins до 1280, это показано ниже ошибки:

<code>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`
</code>
 oers12 апр. 2012 г., 14:40
сколько памяти у вашей машины? 1280, кажется, больше, чем доступные 1037M
 vinod13 апр. 2012 г., 12:50
мой системный оперативный памяти составляет 3 ГБ.
 Thomas Jensen19 окт. 2012 г., 15:19
Можете ли вы опубликовать параметры JVM, которые вы установили?

Ответы на вопрос(1)

Решение Вопроса

Да, исполнитель эхолота findbugs может использовать много оперативной памяти, если база анализируемого кода велика.

Вам придется увеличить не только размер кучи, доступной для JVM, но и & quot;MaxPermSize& Quot; и & quot;ReservedCodeCacheSize& Quot; (по крайней мере для виртуальной машины Java Hotspot). Параметры JVM должны быть установлены на JVM, которая на самом деле выполняет программу-гидролокатор FindBugs. Так что, вероятно, не Дженкинс В.М., а тот, которого Дженкинс начинает с работы.

Вот пример для 64-битной системы:

-Xmx3062m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=128m

В 32-битной системе, которую я предполагаю, вы используете, вы бы выбрали более низкие значения, такие как:

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

Кроме того, если Jenkins не примет параметры JVM, вы можете попробовать запустить сонар с помощью задачи antar sonar ant от Jenkins. (Это то, что я делаю, и я могу установить столько памяти, сколько захочу.)

 29 янв. 2018 г., 20:06
попробовал все эти настройки через MAVEN_OPTS от Jenkins, но, к сожалению, безуспешно :(

Ваш ответ на вопрос