IDEA修改idea64.exe.vmoptions文件以及解决coding卡顿问题

2023-05-17 17:05:16 修改 文件 解决

IDEA修改idea64.exe.vmoptions文件及解决coding卡顿

用idea软件同时打开多个项目时,过个几天不关闭,就慢慢陷入卡顿的漩涡。

于是网上各种搜索解决方案,目前亲测有效的一个方案就是修改idea64.exe.vmoptions文件中的配置值。

介绍

idea64.exe.vmoptions是IntelljJ IDEA的可执行文件的VM(虚拟机)配置文件,我们可以理解为应用程序的虚拟机配置参数。

还有一个idea.exe.vmoptions是针对32位IDEA使用的。一般存放在JetBrains\IntelliJ IDEA 2018.1.2\bin路径中。

该文件有别于我们开发的Java项目的VM参数,Java项目一般是配置在启动脚本或者直接指定JVM运行参数,该文件对于使用IDEA开发的Java项目是无效的,只能对于IDEA本身有效哦。

配置详解

-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=512m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
参数说明
-Xms128m指定虚拟机堆内存初始值大小,最小Java Heap值,默认物理内存的1/64,一般设置为相同值较好,避免频繁对堆内存进行扩容和GC带来的系统开销
-Xmx750m指定虚拟机堆内存最大值大小,最大Java Heap值,默认物理内存的1/4
-XX:ReservedCodeCacheSize=512m预留保存代码缓存的内存空间大小
-XX:+UseConcMarkSweepGC老年代使用CMS垃圾回收策略,并发、标记、清理重置
-XX:SoftRefLRUPolicyMSPerMB=50每兆堆空间中最近最少使用的软引用存活时间为50秒,LRU(Least Recently Used)最近最少使用
-eaeq开启断言,-da表示禁止断言
-Dsun.io.useCanonCaches=false使用标准缓存
-Djava.net.preferIPv4Stack=true使用IPV4协议
-XX:+HeapDumpOnOutOfMemoryError当堆内存溢出时,启用堆Dump快照
-XX:-OmitStackTraceInFastThrow忽略异常栈信息,迅速抛出

关于IDEA的idea64.exe.vmoptions文件使用的误区

我电脑中安装的是IDEA 2017.2.5 64位版本的,在IDEA安装目录下的bin目录下有一个idea64.exe.vmoptions文件。

如下图:

该文件的内容如下:

我以为修改该文件中的-Xms和-Xmx参数可以改变程序运行时的堆内存大小。但是无论怎么修改都生效不了。

做过如下尝试

点击功能栏中Help->Edit Custom VM Options,是的在用户目录中产生一份idea64.exe.vmoptions,修改该文件的内容——失败。

在运行配置中新增环境变量:IDEA64_VM_OPTIONS=C:\Users\Administrator.IntelliJIdea2017.2\config\idea64.exe.vmoptions(如下图),指定idea64.exe.vmoptions文件的位置——失败

新增系统变量:IDEA64_VM_OPTIONS=C:\Users\Administrator.IntelliJIdea2017.2\config\idea64.exe.vmoptions(如下图),指定idea64.exe.vmoptions文件的位置——失败

通过以上三种方式都无济于事,查看程序运行时堆内存情况并没有改变

查阅相关资料才知道,idea64.exe.vmoptions针对的是idea环境,对通过Idea运行的java项目不起作用。

idea本身就是一个 Java 应用,所以也必须运行于 JVM 之上。

此处的 idea64.exe.vmoptions 文件就是用来配置64位的 idea 所使用的 JVM 参数。

是idea运行时用的配置,并不是项目运行的配置。

可以通过下面方式验证:

默认-Xmx750m

修改为-Xmx950m

idea64.exe.vmoptions确实生效了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章