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

问题描述 投票:0回答:5

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

我使用的时候有时会出现延迟。

我更改了

xms
xmx
以获取更大的堆大小(xms = 1024,xmx = 2048),但它会引发错误。所以,我把它回滚了。

错误消息是这样的:“初始堆大小设置为大于最大堆大小的值”。有什么问题吗?

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

我使用的是笔记本电脑,内存为 8GB,使用 x64 IntelliJ.exe。

java memory intellij-idea heap-memory
5个回答
20
投票

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

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

您必须手动更改这些值,以便 XMS 等于或小于 XMX。 在 Mac 上,VM 选项文件为 ~/Library/Preferences/IntelliJIdea2019.2/idea.vmoptions

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


13
投票

我在 Linux 上也遇到了同样的问题。配置文件位于

~/.IntelliJIdea2018.2/config/idea64.vmoptions
该目录将类似于 ~/.IntelliJIdeayyyy.n/config,其中 yyyy 是年份,n 是该年的发行号。 确保
-Xms
值高于
-Xmx
这是我在 8GB RAM 的 ubuntu 18.04 上的工作配置

# 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

3
投票

我在 MAC 中的 IntelliJ 中遇到了同样的问题。

IntelliJ 中有一个构建过程堆大小配置。您可以在

中找到此设置

首选项 > 编译器 > 构建进程堆大小

确保 Xmx 值(在环境或虚拟机选项中)低于设置中的值。如果没有,请增加 IntelliJ 设置中的 Build Process Heap Size 或减少 VM 选项中的 Xmx 值。

默认情况下构建进程堆大小将为700m。


0
投票

使用帮助| 编辑自定义虚拟机选项,仅将

-Xmx
值更改为
2GB
或您需要的任何值,
-Xms
值应更低或相同。请注意,过高的堆可能会使 GC 暂停时间更长。

您的问题可能与内存设置根本无关。 本文档描述了报告性能问题的正确方法。您需要捕获 CPU 快照并将其提交给 JetBrains 支持或问题跟踪器。


0
投票

对于 MacOS 上的 2024.1,我必须按照以下路径更新本地

idea.vmoptions

~/Library/Application Support/JetBrains/IdeaIC2024.1/idea.vmoptions

© www.soinside.com 2019 - 2024. All rights reserved.