IDEA設(shè)置JVM可分配內(nèi)存大小和其他參數(shù)的教程
有時我們會遇到 java.lang.OutOfMemoryError 的問題,可能會需要設(shè)置jvm運行參數(shù)
作用
-Dproperty=Value
該參數(shù)通常用于設(shè)置系統(tǒng)級全局變量值,如配置文件路徑,保證該屬性在程序中任何地方都可訪問。當(dāng)然,也可以通過在程序中使用System.setProperty進(jìn)行設(shè)置。
注意:
1、如果-Dproperty=value的value中包含空格,可以將value使用引號引起來。例如:-Dmyname="hello world"。
2、如果配置了-Dproperty=value參數(shù),又在程序中使用了System.setProperty對同一個變量進(jìn)行設(shè)置,那么以程序中的設(shè)置為準(zhǔn)。
針對某個Application設(shè)置
1、Run-->Edit Configurations

2、選中要添加JVM參數(shù)的Application,然后在Configuration里面的VM options中輸入想要添加的系統(tǒng)參數(shù)

針對所有的Application設(shè)置
1、找到IDEA安裝目錄中的bin目錄
2、找到idea.exe.vmoptions文件
3、打開該文件編輯并保存。

優(yōu)先級關(guān)系
代碼中的配置>Application中的配置>全局配置
補充:IntelliJ IDEA 修改內(nèi)存大小,運行大項目再也不卡了
運行大點的項目特別卡?沒關(guān)系,我們改一下IDEA的最大占用內(nèi)存就可以了。
怎樣查看IDEA內(nèi)存使用情況呢?
在 Settings -> Appearance & Behavior 設(shè)置窗口中,勾選 Show memory indicator 選項,然后主界面右下角會顯示 Heap 總大小以及使用狀況了。

接下來找到idea*.exe.vmoptions,不同的操作系統(tǒng),文件名可能會不一樣,而且IDEA同時提供32位和64位的程序打開方式,我經(jīng)常用的是Windows下64位的打開方式,所以,就在IDEA安裝目錄(我安裝在默認(rèn)C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.3\bin)下找到idea64.exe.vmoptions進(jìn)行修改

將以下三項改大大大大大大

然后重啟IDEA,迫不及待去看右下角的內(nèi)存指示器,?。?!怎么還是默認(rèn)的數(shù)值?

查找一番資料之后,發(fā)現(xiàn)vmoptions文件簡直是狡兔三窟啊,在IDEA安裝目錄下的bin文件夾里,有一個idea.bat文件,在這里面配置了vmoptions文件的位置

找到真正的位置(我的C:\Users\pharma\.IntelliJIdea2017.2\config,這個實際路徑對應(yīng)上圖紅框中帶參數(shù)的路徑),再次進(jìn)行修改


重啟IDEA,查看右下角內(nèi)存指示器,當(dāng)當(dāng)當(dāng)當(dāng),成功!

等等!似乎哪里不太對勁??!為什么我設(shè)置了最大內(nèi)存2048,指示器卻顯示2014?作為強(qiáng)迫癥的資深代表,實在不能忍?。?/p>
算一算差了多少,一七得七,二七四十八,三八婦女節(jié),五一勞動節(jié),六一兒童節(jié)... ...
算了,還是嚴(yán)謹(jǐn)一點,運行calc打開計算器算一算吧

配置文件里再加34M

重啟IDEA,再次查看右下角內(nèi)存指示器,變成了完美的2048!

PS:為什么初始內(nèi)存也要設(shè)置1024M那么大?有文章這樣說:此值可以設(shè)置與-Xmx相同,以避免每次垃圾回收完成后JVM重新分配內(nèi)存。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Java基于循環(huán)遞歸回溯實現(xiàn)八皇后問題算法示例
這篇文章主要介紹了Java基于循環(huán)遞歸回溯實現(xiàn)八皇后問題算法,結(jié)合具體實例形式分析了java的遍歷、遞歸、回溯等算法實現(xiàn)八皇后問題的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
Springboot集成Springbrick實現(xiàn)動態(tài)插件的步驟詳解
這篇文章主要介紹了Springboot集成Springbrick實現(xiàn)動態(tài)插件的詳細(xì)過程,文中的流程通過代碼示例介紹的非常詳細(xì),感興趣的同學(xué)可以參考一下2023-06-06
Java ThreadLocal類應(yīng)用實戰(zhàn)案例分析
這篇文章主要介紹了Java ThreadLocal類應(yīng)用,結(jié)合具體案例形式分析了java ThreadLocal類的功能、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下2019-09-09
ruoyi-springboot框架新增模塊調(diào)接口報404的解決方案
這篇文章主要介紹了ruoyi-springboot框架新增模塊調(diào)接口報404的解決方案,文中通過代碼示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03
java項目中常用指標(biāo)UV?PV?QPS?TPS含義以及統(tǒng)計方法
文章介紹了現(xiàn)代Web應(yīng)用中性能監(jiān)控和分析的重要性,涵蓋了UV、PV、QPS、TPS等關(guān)鍵指標(biāo)的統(tǒng)計方法,并提供了示例代碼,同時,文章還討論了性能優(yōu)化和瓶頸分析的策略,以及使用Grafana等可視化工具進(jìn)行監(jiān)控與告警的重要性2025-01-01
Springboot集成Elasticsearch的步驟與相關(guān)功能
ElasticSearch是開源搜索平臺領(lǐng)域的一個新成員,?ElasticSearch是一個基于Lucene構(gòu)建的開源,分布式,RESTful搜索引擎,這篇文章主要給大家介紹了關(guān)于Springboot集成Elasticsearch的相關(guān)資料,需要的朋友可以參考下2021-12-12
springboot項目docker分層構(gòu)建的配置方式
在使用dockerfile構(gòu)建springboot項目時,速度較慢,用時比較長,為了加快構(gòu)建docker鏡像的速度,采用分層構(gòu)建的方式,這篇文章主要介紹了springboot項目docker分層構(gòu)建,需要的朋友可以參考下2024-03-03

