繁体   English   中英

内存不足:声纳中的Java堆大小?

[英]Out of memory:java heap size in sonar?

我正在分析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-opts设置为8192但它仍然在同一时间失败,

这些是我使用过算盘,checkstyles,pmd,java,无用代码跟踪器的插件数据库:mysql

提前致谢

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

声纳-OutOfMemoryError:Java堆空间

如果您的代码很大,则必须将其分成模块..检查此

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

希望对您有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM