Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea 如何给Intellij编译器更多的堆空间?_Intellij Idea - Fatal编程技术网

Intellij idea 如何给Intellij编译器更多的堆空间?

Intellij idea 如何给Intellij编译器更多的堆空间?,intellij-idea,Intellij Idea,当我做一个Intellij项目时,我总是遇到以下内存不足错误 我已经在idea.vmoptions中增加了堆大小: -Xms128m -Xmx2048m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=64m -ea 但我仍然得到这个错误: Information:The system is out of resources. Information:Consult the following stack trace for details. I

当我做一个Intellij项目时,我总是遇到以下内存不足错误

我已经在
idea.vmoptions
中增加了堆大小:

-Xms128m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=64m
-ea
但我仍然得到这个错误:

Information:The system is out of resources.
Information:Consult the following stack trace for details.
Information:java.lang.OutOfMemoryError: Java heap space
Information:    at com.sun.tools.javac.util.Position$LineMapImpl.build(Position.java:139)
Information:    at com.sun.tools.javac.util.Position.makeLineMap(Position.java:63)
Information:    at com.sun.tools.javac.parser.Scanner.getLineMap(Scanner.java:1105)
Information:    at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:512)
Information:    at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:550)
Information:    at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:804)
Information:    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:353)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:279)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:270)
Information:    at com.sun.tools.javac.Main.compile(Main.java:69)
Information:    at com.sun.tools.javac.Main.main(Main.java:54)
Information:    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Information:    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Information:    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Information:    at java.lang.reflect.Method.invoke(Method.java:597)
Information:    at com.intellij.rt.compiler.JavacRunner.main(JavacRunner.java:71)
Information:Compilation completed with 1 error and 0 warnings
Information:1 error
Information:0 warnings
Error:Compiler internal error. Process terminated with exit code 3
我缺少什么?

当前版本:

设置
首选项
在Mac上)|
构建、执行、部署
|
编译器
| 生成进程堆大小

旧版本:

设置
首选项
在Mac上)|
编译器
|
Java编译器
|最大堆大小


默认情况下,编译器在单独的JVM中运行,因此您在
IDEA.vmoptions
中设置的IDEA堆设置对编译器没有影响。

Intellij 12中的GWT

FWIW,在“构建|重建项目”期间,我的GWT应用程序遇到了类似的错误

这是由Intellij进行完整的GWT编译造成的,我不喜欢这样做,因为这也是一个非常漫长的过程

我通过关闭“项目结构|方面| GWT”下的模块复选框禁用了GWT编译


或者,在该位置也有一个“编译器最大堆大小”设置。

在我的例子中,错误是由于分配给maven的“测试”生命周期的内存不足造成的。通过将
-Xms3512m-Xmx3512m
添加到:

<pluginManagement>
  <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.16</version>
        <configuration>
            <argLine>-Xms3512m -Xmx3512m</argLine>

org.apache.maven.plugins
maven surefire插件
2.16
-Xms3512m-Xmx3512m
感谢@crazycoder指出这一点(在本例中,它与IntelliJ无关)

如果您的测试是分叉的,那么它们将在一个新的JVM中运行,该JVM不继承Maven JVM选项。自定义内存选项必须通过pom.xml中的测试运行程序提供,有关详细信息,请参阅Maven文档,它与IDE关系不大

有一个

idea64.exe

起动器

IntelliJ IDEA 13.1.5\bin


因此,您可以处理更多的空间。

自IntelliJ 2016以来,位置是文件|设置|构建、执行、部署|编译器|构建进程堆大小


我在Ant build(从IDEA GUI手动启动)方面也遇到了类似的问题。在我的例子中,正确的解决方案是右键单击Ant任务,选择properties并将更高的值设置为“最大堆空间(Mb):”和“最大堆栈空间(Mb):”输入字段


要解决此问题,请执行以下给定步骤-

1) 。在inteli中,转到文件>设置选项,并在导入器给定值-Xmx512m的Vm选项字段中搜索Vm选项。

2) 。转到控制面板选择查看方式:大图标然后转到Java一个promp窗口将显示名称Java控制面板然后转到Java

选择查看选项。

在Java运行时环境中,将传递运行时参数设置为-Xmx1024m

3) 。如果上面给出的选项不起作用,那么请更改pom.xml的大小。在使用maven安装命令构建项目时,我遇到了“java.lang.OutOfMemoryError:java heap space”错误

我可以通过改变maven runner的设置来摆脱它


设置
|
构建、执行、部署
|
构建工具
|
Maven
|
运行者
|
虚拟机选项
-Xmx512m

我想分享我的一个启示。当您构建项目时,Intellij Idea运行一个驻留在其核心中的java进程(例如:C:\Program Files\JetBrains\Intellij Idea 2020.3\jbr\bin)。正如许多其他人提到的,“构建进程堆大小”改变了这个java进程的堆大小。但是,主java进程稍后由Idea的java进程触发,因此具有不同的VM参数。我注意到这个进程的最大堆大小是Idea java进程的1/3,而最小堆是最大值的一半(1/6)。总结:

当您在“构建进程堆大小”上设置9g堆时,编译器的实际堆大小最大为3g,最小为1,5g。无需重新启动


PS:在2020.3版上进行了测试,之后需要重新启动:)我知道这有点离题,但如果有人遇到这个问题,可能会省去一些麻烦。我也有同样的问题,但我的问题源于我在IntelliJ中进行
mvn安装时。解决方案是修改
设置| Maven | Runner |**虚拟机选项**
我必须尝试那里的所有其他设置,直到我正确设置为止。希望它能帮助别人。我可以找到它,直到“最大堆大小”我必须将它添加为额外的命令行参数吗?@clankill3r try
设置
编译器
构建进程堆大小
。对于Intellij的最新版本(我的是2016.1.3),此参数称为“构建进程堆大小(MB)”可以在“设置|构建、执行、部署|编译器”中找到。这个答案在某种程度上是正确的,尽管不是在上述问题的上下文中。idea64.exe确实为您提供了更多的永久内存,如果您使用的是64位操作系统,请使用idea64.exe。发现它很有用,因为32位idea.exe在构建期间内存不足时崩溃。为什么要删除该链接?你害怕发生了什么事吗?我已经给出了正确的答案,我给了另一个网站评分,但我仍然可以看到两张反对票。我给出的答案实际上是正确的,我已经面对并解决了这个问题。请让我知道我是否可以给另一个网站评分。那个暂时的反对票是我投的。如果你想给学分,请链接到你找到信息的确切页面,而不是教程列表。我将其更改为2000 MB,但它仍然不适用于我。