java:OutOfMemoryError:在Idea中运行JUnits时内存不足

vip*_*169 13 java junit intellij-idea

我试图从我的IntelliJ想法运行JUnits当我尝试运行Test.java文件时它给我一个错误说

java:OutOfMemoryError:内存不足

我已经尝试将分配给Idea的内存增加到6GB,但它仍然给我同样的错误,我错过了什么:/

增加idea64.vmoptions中的以下内容并没有帮助./ opt/idea/bin中的当前vmoption设置为:

-Xms124m
-Xmx2g
-XX:MaxPermSize=2g
-XX:ReservedCodeCacheSize=196m
-XX:+UseCodeCacheFlushing
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
Run Code Online (Sandbox Code Playgroud)

PS: - 项目有~83k文件,项目总体大小为1.1 GB

遇到以下错误: -

信息:使用javac 1.6.0_35编译java源信息:java:系统资源不足.信息:java:有关详细信息,请参阅以下堆栈跟踪.信息:java:at com.sun.tools.javac.util.Position $ LineMapImpl.build(Position.java:139)信息:java:at com.sun.tools.javac.util.Position.makeLineMap(Position.java: 63)信息:java:at com.sun.tools.javac.parser.Scanner.getLineMap(Scanner.java:1105)信息:java:at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java: 512)信息:java:at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:550)信息:java:at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java: 804)信息:java:at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)信息:java:at com.sun.tools.javac.main.Main.compile(Main.java: 353)信息:java:at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:115)信息:java:at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:166)信息:java:at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:364)信息:java:at org.jetbra ins.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:276)信息:java:at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:190)信息:java:at org. jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:162)信息:java:at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:992)信息:java:at org.jetbrains. jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:739)信息:java:at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:769)信息:java:at org.jetbrains.jps.incremental. IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:702)信息:java:at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:523)信息:java:at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild( IncProjectBuilder.java:314)信息:java:at org.jetbrains.jps.incremental.Inc ProjectBuilder.build(IncProjectBuilder.java:179)信息:java:at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:129)信息:java:at org.jetbrains.jps.cmdline.BuildSession.runBuild( BuildSession.java:216)信息:java:at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:111)信息:java:at org.jetbrains.jps.cmdline.BuildMain $ MyMessageHandler $ 1.run(BuildMain) .java:132)信息:java:at org.jetbrains.jps.service.impl.SharedThreadPoolImpl $ 1.run(SharedThreadPoolImpl.java:41)信息:java:at java.util.concurrent.Executors $ RunnableAdapter.call(Executors. java:441)信息:java:at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303)信息:java:at java.util.concurrent.FutureTask.run(FutureTask.java:138)信息: java:at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886)信息:java:at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908)Informat ion:java:at java.lang.Thread.run(Thread.java:662)信息:java:编译模块'app'时发生错误信息:编译完成时出现1错误,0警告3分钟19秒信息:1错误信息:0警告错误:java:OutOfMemoryError:内存不足

IDEA编译器设置

Fra*_*man 27

根据您的日志,问题出在编译器堆空间中.

Settings -> Compiler -> Build process heap size (MB)
Run Code Online (Sandbox Code Playgroud)

并增加这个价值.

  • 尝试将它从700改为2000,仍然无法正常工作:/ (2认同)

Ste*_*e C 24

Idea在单独的java进程中运行单元测试.

你需要使用

Run -> Edit Configurations...
Run Code Online (Sandbox Code Playgroud)

并添加-XmxNNNm到VM选项.

例如:

-ea -Xmx1024m
Run Code Online (Sandbox Code Playgroud)

"-ea"表示"启用断言".

如果您的单元测试无法在1GB内存中运行,则可能是内存泄漏.