当前位置: 首页 > 知识库问答 >
问题:

Intellij堆大小,初始堆大小设置为大于最大堆大小的值

徐秋月
2023-03-14

我是Java的初学者,刚开始使用Intellij作为我的IDE。

当我使用它时,有时会延迟。

我更改了我的 xms 和 xmx 以获得更大的堆大小(xms = 1024,xmx = 2048),但它抛出了一个错误。

所以,我把它回滚了。

错误消息是这样的:“初始堆大小设置为大于最大堆大小的值”。

有什么问题?

如果可能,如何增加最大堆大小?

我用的是笔记本电脑,它有8GB内存。x64Intellij.exe使用。

共有3个答案

郭和硕
2023-03-14

我在MAC中的智能J中遇到了同样的问题。

IntelliJ中有一个生成进程堆大小配置。您可以在中找到此设置

偏好

确保 Xmx 值(在环境或 VM 选项中)低于设置中的值。如果不是,请在 IntelliJ 设置中增加生成过程堆大小,或在 VM 选项中减小 Xmx 值。

默认情况下,构建过程堆大小将为700米。

宰父衡
2023-03-14

我在Linux上也遇到了同样的问题。配置文件位于~/.IntelliJIdea2018.2/config/idea64.vmoptions目录类似于~/.IntelliJIdeayyyy。n/config,其中yyyy是年份,n是当年的版本号。确保-Xms值高于-Xmx

# custom IntelliJ IDEA VM options

-server
-Xms4096m
-Xmx4096m
-XX:NewSize=1024m
-XX:MaxNewSize=1512m
-XX:NewRatio=1
-XX:+UseParNewGC
-XX:ParallelGCThreads=4
-XX:MaxTenuringThreshold=1
-XX:SurvivorRatio=8
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:+CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=65
-XX:+CMSScavengeBeforeRemark
-XX:+UseCMSInitiatingOccupancyOnly
-XX:ReservedCodeCacheSize=64m
-XX:-TraceClassUnloading
-ea
-Dsun.io.useCanonCaches=false

盖夕
2023-03-14

如果您在2019.2更新后在InteliJ中看到此错误,那是因为更新将JVM XMX值更改为2048m而没有检查相关值,这可能允许XMS变得大于无效的最大XMX值并创建该错误。

也就是说,我的值是XMX=6000m和XMS=4096m但在2019.2更新后,它们是XMX=2048m和XMS=4096m

您必须手动更改这些值,以便XMS等于或小于XMX。在MAC上,虚拟机选项文件是~/Library/Preferences/intelli jidea 2019.2/idea . VM options

注意:该路径假定您使用的是InteliJ版本2019.2。如果出现以下情况,您需要将路径中的该值更改为您所在的版本

 类似资料:
  • 我正在使用IntelliJ 2020.1 Ultimate,并且有一个JBoss 7.0.2服务器,我想从IntelliJ运行。 我将其添加为配置: 但是当我尝试启动服务器时,我收到以下错误: IDEA.app/Contents/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar:/Applications/IntelliJ IDEA.app/Contents

  • 我遇到了我最近升级到的Intellij 2019.2.1版本的问题。我已经在智能帮助中设置了Xms和Xmx - 现在,当我启动应用程序时,在应用程序的VM参数中,我传递-Xmx800m,然后在运行应用程序时,它抛出一个错误,指出“初始堆大小设置为大于最大堆大小的值”。 有人能告诉我我在这里放了什么错误的配置吗?还是我漏掉了什么?

  • 我刚刚在VServer和JRE Build1.7.0_67-B01上安装了Ubuntu 64bit。如果我想运行一个java jar文件,它说 无效的最大堆大小:-XMX错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。 我试了1M,256M,1024M,2G和4G的-XMX,都不起作用。是不是有我不知道的隐藏设定? 下面是我使用的命令:

  • 问题内容: 当前,在我们的测试环境中,最大和最小JVM堆大小设置为相同的值,基本上与专用服务器计算机为我们的应用程序所允许的大小相同。这是性能最佳的配置,还是给JVM一个更好的范围? 问题答案: 设置- Xms的主要原因是,如果您在启动时需要一定的堆。(防止OutOfMemoryErrors在启动时发生。)如上所述,如果您需要启动堆来匹配最大堆,则是匹配它的最大时间。否则,您将不需要它。只是要求应

  • 问题内容: 我正在运行具有以下属性的服务器: Windows Server 2008 R2 Standard-64位4GB RAM 我正在尝试将应用程序的堆大小设置为3gb。我正在使用-Xmx3G -Xms3G标志。使用标志运行会导致以下错误: VM初始化期间发生错误。无法为对象堆保留足够的空间。无法创建Java虚拟机。 我一直在玩设置,看我的天花板是多少,发现1568是我的天花板。我想念什么?

  • 问题内容: 当我运行具有NLP库的Java类时出现此错误。 任何想法,我怎么可以解决这个错误:) 问题答案: 您应注意,如果将初始堆大小设置为大于最大堆大小,则应用程序将产生此类错误 表示 初始堆大小 表示特定JVM 允许的最大堆大小 错,因为默认的最大堆大小可能小于128m 更好,因为初始大小等于或大于最大值 在此处阅读更多信息http://javahowto.blogspot.com/2006