有时我们会遇到 java.lang.OutOfMemoryError 的问题,可能会需要设置jvm运行参数
作用
-Dproperty=Value
该参数通常用于设置系统级全局变量值,如配置文件路径,保证该属性在程序中任何地方都可访问。当然,也可以通过在程序中使用System.setProperty进行设置。
注意:
1、如果-Dproperty=value的value中包含空格,可以将value使用引号引起来。例如:-Dmyname="hello world"。
2、如果配置了-Dproperty=value参数,又在程序中使用了System.setProperty对同一个变量进行设置,那么以程序中的设置为准。
针对某个Application设置
1、Run-->Edit Configurations
2、选中要添加JVM参数的Application,然后在Configuration里面的VM options中输入想要添加的系统参数
针对所有的Application设置
1、找到IDEA安装目录中的bin目录
2、找到idea.exe.vmoptions文件
3、打开该文件编辑并保存。
优先级关系
代码中的配置>Application中的配置>全局配置
补充:IntelliJ IDEA 修改内存大小,运行大项目再也不卡了
运行大点的项目特别卡?没关系,我们改一下IDEA的最大占用内存就可以了。
怎样查看IDEA内存使用情况呢?
在 Settings -> Appearance & Behavior 设置窗口中,勾选 Show memory indicator 选项,然后主界面右下角会显示 Heap 总大小以及使用状况了。
接下来找到idea*.exe.vmoptions,不同的操作系统,文件名可能会不一样,而且IDEA同时提供32位和64位的程序打开方式,我经常用的是Windows下64位的打开方式,所以,就在IDEA安装目录(我安装在默认C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.3\bin)下找到idea64.exe.vmoptions进行修改
将以下三项改大大大大大大
然后重启IDEA,迫不及待去看右下角的内存指示器,!!!怎么还是默认的数值?
查找一番资料之后,发现vmoptions文件简直是狡兔三窟啊,在IDEA安装目录下的bin文件夹里,有一个idea.bat文件,在这里面配置了vmoptions文件的位置
找到真正的位置(我的C:\Users\pharma\.IntelliJIdea2017.2\config,这个实际路径对应上图红框中带参数的路径),再次进行修改
重启IDEA,查看右下角内存指示器,当当当当,成功!
等等!似乎哪里不太对劲!!为什么我设置了最大内存2048,指示器却显示2014?作为强迫症的资深代表,实在不能忍啊!
算一算差了多少,一七得七,二七四十八,三八妇女节,五一劳动节,六一儿童节... ...
算了,还是严谨一点,运行calc打开计算器算一算吧
配置文件里再加34M
重启IDEA,再次查看右下角内存指示器,变成了完美的2048!
PS:为什么初始内存也要设置1024M那么大?有文章这样说:此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。如有错误或未考虑完全的地方,望不吝赐教。