【问题标题】:Out of memory:java heap size in sonar?内存不足:声纳中的java堆大小?
【发布时间】:2014-12-24 20:50:08
【问题描述】:

我正在分析 Sonar 中的一个大型项目并出现以下错误,

00:41:48.325 INFO  - Base dir: C:\Users\Administrator\Desktop\sonar-runner-dist-2.4\sonar-runner-2.4\bin\.
00:41:48.325 INFO  - Working dir: C:\Users\Administrator\Desktop\sonar-runner-dist-2.4\sonar-runner-2.4\bin\.\.sonar
00:41:48.325 INFO  - Source encoding: UTF-8, default locale: en_US
00:41:48.325 INFO  - Quality profile for java: PMD
00:41:48.332 INFO  - Sensor QProfileSensor...
00:41:48.336 INFO  - Sensor QProfileSensor done: 4 ms
00:41:48.336 INFO  - Sensor CpdSensor...
00:41:48.336 INFO  - SonarEngine is used for java
00:41:48.336 INFO  - Sensor CpdSensor done: 0 ms
00:41:48.336 INFO  - Sensor InitialOpenIssuesSensor...
00:41:48.486 INFO  - Sensor InitialOpenIssuesSensor done: 150 ms
00:41:48.486 INFO  - Sensor ProfileEventsSensor...
00:41:48.602 INFO  - Sensor ProfileEventsSensor done: 116 ms
00:41:48.603 INFO  - Sensor ProjectLinksSensor...
00:41:48.605 INFO  - Sensor ProjectLinksSensor done: 2 ms
00:41:48.606 INFO  - Sensor VersionEventsSensor...
00:41:48.631 INFO  - Sensor VersionEventsSensor done: 26 ms
00:41:48.631 INFO  - Sensor FileHashSensor...
00:41:48.631 INFO  - Sensor FileHashSensor done: 0 ms
00:41:48.794 INFO  - Execute decorators...
00:41:49.256 INFO  - Store results in database
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 1:19:23.133s
Final Memory: 11M/494M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
    at org.sonar.runner.api.Runner.execute(Runner.java:100)
    at org.sonar.runner.Main.executeTask(Main.java:70)
    at org.sonar.runner.Main.execute(Main.java:59)
    at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOfRange(Arrays.java:2694)
    at java.lang.String.<init>(String.java:203)
    at java.lang.StringBuilder.toString(StringBuilder.java:405)
    at com.persistit.Value.get(Value.java:2143)
    at com.persistit.DefaultValueCoder$ObjectFieldAccessor.fromValue(DefaultValueCoder.java:560)
    at com.persistit.DefaultValueCoder.renderDefaultFields(DefaultValueCoder.java:1154)
    at com.persistit.DefaultValueCoder.render(DefaultValueCoder.java:1132)
    at com.persistit.DefaultValueCoder.get(DefaultValueCoder.java:1065)
    at com.persistit.Value.get(Value.java:2413)
    at com.persistit.encoding.CollectionValueCoder.render(CollectionValueCoder.java:220)
    at com.persistit.encoding.CollectionValueCoder.get(CollectionValueCoder.java:167)
    at com.persistit.Value.get(Value.java:2413)
    at com.persistit.DefaultValueCoder$ObjectFieldAccessor.fromValue(DefaultValueCoder.java:560)
    at com.persistit.DefaultValueCoder.renderDefaultFields(DefaultValueCoder.java:1154)
    at com.persistit.DefaultValueCoder.render(DefaultValueCoder.java:1132)
    at com.persistit.DefaultValueCoder.get(DefaultValueCoder.java:1065)
    at com.persistit.Value.get(Value.java:2413)
    at com.persistit.encoding.CollectionValueCoder.render(CollectionValueCoder.java:232)
    at com.persistit.encoding.CollectionValueCoder.get(CollectionValueCoder.java:167)
    at com.persistit.Value.get(Value.java:2413)
    at com.persistit.DefaultValueCoder$ObjectFieldAccessor.fromValue(DefaultValueCoder.java:560)
    at com.persistit.DefaultValueCoder.renderDefaultFields(DefaultValueCoder.java:1154)
    at com.persistit.DefaultValueCoder.render(DefaultValueCoder.java:1132)
    at com.persistit.DefaultValueCoder.get(DefaultValueCoder.java:1065)
    at com.persistit.Value.get(Value.java:2413)
    at com.persistit.Value.get(Value.java:2015)
    at org.sonar.batch.index.Cache$ValueIterator.next(Cache.java:400)
    at org.sonar.batch.index.Cache$ValueIterator.next(Cache.java:373)
    at org.sonar.core.issue.db.IssueStorage.batchInsert(IssueStorage.java:77)
    at org.sonar.core.issue.db.IssueStorage.save(IssueStorage.java:66)
    at org.sonar.batch.issue.IssuePersister.persist(IssuePersister.java:52)
    at org.sonar.batch.phases.PhaseExecutor.executePersisters(PhaseExecutor.java:163)
ERROR:
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.

谁能帮我找出错误,我正在通过在 wrapper.conf 中将 java 堆设置为 2048m 来分析项目我的内存堆大小不足,所以我厌倦了将 java 堆大小设置为 5120 和 sonar-runner-选择 8192 但仍然在同一点失败,

这些是我用过的插件 abacus,checkstyles,pmd,java,useless code tracker 数据库:mysql

提前致谢

【问题讨论】:

    标签: java sonarqube sonar-runner


    【解决方案1】:

    检查这个问题的答案..它将帮助您设置内存或解决文件扩展名错误选择的问题

    Sonar - OutOfMemoryError: Java heap space

    如果你的代码太大,那么你必须把它分解成模块..检查这个

    http://docs.codehaus.org/display/ENUNCIATE/Multi-Module+Projects

    我希望这会有所帮助!

    【讨论】:

    • 我已经排除了不需要的文件并增加了大小,但它仍然存在
    • @hamed,如果它在第一天工作,第二天之后没有更改,我尝试启动声纳服务器然后它抛出 HeapDumpOnOutOfMemoryError 所以,服务器没有正常启动。任何想法..
    猜你喜欢
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 2011-08-15
    • 2013-09-10
    • 1970-01-01
    • 2016-11-19
    • 2021-11-20
    相关资源
    最近更新 更多