问题:
最近在用idea时,突然弹出了以下消息框(图片不是我的):
将Xmx的值调大以后,idea还是闪退了。并且再点击idea.exe时,idea已经木有反映了,无法启动。
解决方案:
- 方案一(失败):百度的好多答案都是修改idea安装目录/bin/idea.exe.vmoptions(我是32位的),并没有什么用;
- 方案二(成功):谷歌https://stackoverflow.com/questions/31715481/intellij-idea-wont-start:
- 按照其描述修改:
- 在C:UsersAdministrator.IntelliJIdea2017.3config下会有一个idea.exe.vmoptions文件,上述消息框的修改实际上在这个路径下生成了一个新文件,并没有直接修改配置文件;
- 然后删除这个文件就可以正常工作了;
其他:
可我还是不太清楚,为什么会不能启动,以下是弹出内存溢出消息框时,我的修改:
-server -Xms512m -Xmx1500m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow
按道理,我的机器是32位,虽然只支持3G的内存,但是1500m并没有超出内存限制啊?
- 后来看到了https://stackoverflow.com/questions/13489469/how-to-increase-intellij-32bit-xmx-more-than-1gb的回答,想想确实是有道理的:
- 我的堆区的最大内存设置为了1.5G,但是,JVM分配内存需要在连续块中分配,JVM其他分区、加上内存碎片,以及系统本身所占用的内存等,想想估计很难有1.5G的连续空间满足堆区的分配需求吧,那也难怪idea无法启动啦。
- 32位系统的话:-Xms堆最小内存128m,-Xmx堆最大设置为512M就可以了;
--ps--貌似技术问题百度确实不太靠谱啊--$_$! --