我正在分析声纳中的一个大型项目,并收到以下错误:
[sonar:sonar] 03:55:39.511 INFO p.PhasesTimeProfiler - Execute decorators...
BUILD FAILED
[...]
[...] java.lang.OutOfMemoryError: Java heap space
at org.sonar.batch.index.MeasurePersister.model(MeasurePersister.java:127)
at org.sonar.batch.index.MeasurePersister.getMeasuresToSave(MeasurePersister.java:117)
at org.sonar.batch.index.MeasurePersister.dump(MeasurePersister.java:70)
at org.sonar.batch.index.DefaultPersistenceManager.dump(DefaultPersistenceManager.java:63)
at org.sonar.batch.phases.Phases.execute(Phases.java:95)
at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:139)
at org.sonar.batch.bootstrap.Module.start(Module.java:83)
at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:131)
at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:121)
at org.sonar.batch.bootstrap.Module.start(Module.java:83)
at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:121)
at org.sonar.batch.bootstrap.Module.start(Module.java:83)
at org.sonar.batch.Batch.execute(Batch.java:104)
at org.sonar.ant.Launcher.execute(Launcher.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.sonar.ant.SonarTask.delegateExecution(SonarTask.java:244)
at org.sonar.ant.SonarTask.execute(SonarTask.java:193)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:392)
at org.apache.tools.ant.Target.performTasks(Target.java:413)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
我应该增加正在运行的Sonar服务器的Java堆空间,还是执行Sonar作业的Ant目标?
对于命令行Ant的用法
引用马克·奥康纳(Mark O’Connor)在另一个问题上的回答:
Sonar ANT任务作为ANT的一部分执行,因此您需要使用标准ANT环境参数设置JVM堆。例如:
出口ANT_OPTS = -Xmx256m
备注:
set
命令Permgen
,使用-XX:MaxPermSize=<desired amount>
对于Eclipse IDE
引用文章http://soenkerohde.com/2008/06/change-eclipse-ant-settings-when-you-run-
out-of-memory/
对于IntelliJ Idea
这个论坛线程很有用:ANT构建Java堆空间
引用答案:
请确保您在正确的位置增加了堆。您需要在 IDEA的Ant工具窗口中 单击“属性”按钮,然后在此处编辑 “最大堆大小(Mb)” 字段。
另外,从IntelliJ Idea页面:增加内存堆
从文章引用:
生成过程的内存堆独立于IntelliJ IDEA内存堆,并且在生成过程完成后释放。
要增加内存堆:打开“ 构建文件属性” 对话框。在 最大堆大小 字段中,键入所需的内存量。
对于Jenkins持续集成和Ant构建
引用答案:
仅在没有ANT_OPTS =的情况下将JAVA OPTIONS设置为-Xmx512m -XX:MaxPermSize = 256m
对于 Maven构建
,本文很有用:如何在hudson构建中增加Maven堆空间
- 导航至哈德森工作,
- 点击 配置 ,
- 向下滚动到 Build部分 ,然后
- 单击 高级 按钮。
- 将其输入到 MAVEN_OPTS:-Xmx512m -XX:MaxPermSize = 128m
问题内容: 我正在研究真正了解JVM中内存分配的工作方式。我正在编写一个内存不足的应用程序:堆空间异常。 我知道我可以传入VM参数(例如Xms和Xmx)来增加JVM为正在运行的进程分配的堆空间。这是解决此问题的一种可能的解决方案,或者我可以检查代码是否存在内存泄漏并在那里解决问题。 我的问题是: 1)JVM如何实际为其分配内存?这与OS如何将可用内存传递给JVM有什么关系?或更一般而言,任何进程的
我想真正了解内存分配在JVM中是如何工作的。我正在编写一个内存不足的应用程序:堆空间异常。 我知道我可以传入VM参数,如Xms和Xmx,以增加JVM为正在运行的进程分配的堆空间。这是一个可能的解决方案,或者我可以检查我的代码内存泄漏并修复那里的问题。 我的问题是: 1)JVM实际上如何为自己分配内存?这与OS如何将可用内存传递给JVM有什么关系?或者更一般地说,为任何进程分配内存实际上是如何工作的
问题:我运行< code>mvn全新安装-dskipstest 并得到 更多信息: > < li> 操作系统:OS X (16 GB内存) Java配置:位于< code > ~/Libraries/Preferences/intelli jide a13/Idea . vmoptins 和< code > Applications/IntelliJ \ Idea \ 13.app/bin/ide
我在运行应用程序时遇到gradle生成错误。我使用的是8GB内存的windows 10,Android studio 4.0.1版 内存不足:Java堆空间。请在项目的Gradle中为Gradle分配更多内存。属性文件。例如,下面的一行,在渐变中。属性文件,将最大Java堆大小设置为1024 MB:org。格雷德尔。jvmargs=-Xmx1024m 即使遵循相同的步骤,我也无法运行该应用程序。有
即使在相当小的数据集上,我也会遇到堆空间错误。我可以确定我没有耗尽系统内存。例如,考虑一个包含大约20M行和9列的数据集,它占用了磁盘上的1GB。我正在一个具有30gb内存的Google Compute节点上玩它。 假设我在一个名为df的数据框中有这些数据。以下操作很好,但速度有点慢: 下面抛出java。lang.OutOfMemoryError:Java堆空间。 我尝试了这个建议,以增加要激发的
运行以下命令时:cmd/c c:\sonar-runner-2.4\bin\sonar-runner.bat (sonar runner安装在生成计算机上)我得到以下错误: 错误:无法访问sonar服务器“http://localhost:9000” 错误:sonar runner执行期间出错 错误:java.net.ConnectException:连接被拒绝:连接 错误:原因:连接被拒绝:连接