김상기*_*김상기 12 java memory heap-memory intellij-idea
我是Java的初学者,我刚开始使用Intellij作为我的IDE.
当我使用它时,有时会延迟.
我更改了我的xms和xmx以获得更大的堆大小(xms = 1024,xmx = 2048),但它会引发错误.
所以,我把它翻了回来.
错误消息是这样的:"初始堆大小设置为比最大堆大小更大的值".
问题是什么?
如果可能,如何增加最大堆大小?
我正在使用笔记本电脑,它有8GB内存.x64使用Intellij.exe.
Bri*_*anC 12
如果您在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。您将需要在您所使用的版本的路径中将该值更改为
Mij*_*ijo 10
我在Linux上遇到了同样的问题。在~/.IntelliJIdea2018.2/config/idea64.vmoptions
目录中可以找到配置文件
。目录看起来像〜/ .IntelliJIdeayyyyyy.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
Run Code Online (Sandbox Code Playgroud)
使用帮助 | 编辑自定义虚拟机选项,-Xmx仅将值更改为2GB或您需要的任何值,-Xms值应该更低或相同。请注意,过高的堆可能会使 GC 暂停时间更长。
您的问题可能与内存设置根本无关。本文档描述了报告性能问题的正确方法。您需要捕获 CPU 快照并将其提交给 JetBrains 支持或问题跟踪器。