我是Java的初学者,我刚开始使用Intellij作为我的IDE。
当我使用它时,有时会延迟。
我更改了我的xms和xmx以获得更大的堆大小(xms = 1024,xmx = 2048),但它会引发错误。
所以,我把它翻了回来。
错误消息是这样的:"初始堆大小设置为大于最大堆大小的值#34;。
有什么问题?
如果可能,如何增加最大堆大小?
我使用笔记本电脑,它有8GB内存。 x64使用Intellij.exe。
答案 0 :(得分:15)
如果在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。版本。如果
,则需要在所使用版本的路径中更改该值。答案 1 :(得分:0)
我在Linux上遇到了同样的问题。该配置文件位于
~/.IntelliJIdea2018.2/config/idea64.vmoptions
该目录看起来像〜/ .IntelliJIdeayyyyy.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
答案 2 :(得分:-1)
使用帮助| Edit Custom VM Options,仅将-Xmx
值更改为2GB
或您需要的任何值,-Xms
值应该更低或相同。请注意,堆太高会导致GC暂停时间更长。
您的问题可能与内存设置无关。报告性能问题的正确方法是described in this document。您需要捕获CPU快照并将其提交给JetBrains支持或问题跟踪器。