IDEA設(shè)置JVM可分配內(nèi)存大小和其他參數(shù)的教程
有時(shí)我們會(huì)遇到 java.lang.OutOfMemoryError 的問(wèn)題,可能會(huì)需要設(shè)置jvm運(yùn)行參數(shù)
作用
-Dproperty=Value
該參數(shù)通常用于設(shè)置系統(tǒng)級(jí)全局變量值,如配置文件路徑,保證該屬性在程序中任何地方都可訪問(wèn)。當(dāng)然,也可以通過(guò)在程序中使用System.setProperty進(jìn)行設(shè)置。
注意:
1、如果-Dproperty=value的value中包含空格,可以將value使用引號(hào)引起來(lái)。例如:-Dmyname="hello world"。
2、如果配置了-Dproperty=value參數(shù),又在程序中使用了System.setProperty對(duì)同一個(gè)變量進(jìn)行設(shè)置,那么以程序中的設(shè)置為準(zhǔn)。
針對(duì)某個(gè)Application設(shè)置
1、Run-->Edit Configurations
2、選中要添加JVM參數(shù)的Application,然后在Configuration里面的VM options中輸入想要添加的系統(tǒng)參數(shù)
針對(duì)所有的Application設(shè)置
1、找到IDEA安裝目錄中的bin目錄
2、找到idea.exe.vmoptions文件
3、打開(kāi)該文件編輯并保存。
優(yōu)先級(jí)關(guān)系
代碼中的配置>Application中的配置>全局配置
補(bǔ)充:IntelliJ IDEA 修改內(nèi)存大小,運(yùn)行大項(xiàng)目再也不卡了
運(yùn)行大點(diǎn)的項(xiàng)目特別卡?沒(méi)關(guān)系,我們改一下IDEA的最大占用內(nèi)存就可以了。
怎樣查看IDEA內(nèi)存使用情況呢?
在 Settings -> Appearance & Behavior 設(shè)置窗口中,勾選 Show memory indicator 選項(xiàng),然后主界面右下角會(huì)顯示 Heap 總大小以及使用狀況了。
接下來(lái)找到idea*.exe.vmoptions,不同的操作系統(tǒng),文件名可能會(huì)不一樣,而且IDEA同時(shí)提供32位和64位的程序打開(kāi)方式,我經(jīng)常用的是Windows下64位的打開(kāi)方式,所以,就在IDEA安裝目錄(我安裝在默認(rèn)C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.3\bin)下找到idea64.exe.vmoptions進(jìn)行修改
將以下三項(xiàng)改大大大大大大
然后重啟IDEA,迫不及待去看右下角的內(nèi)存指示器,?。?!怎么還是默認(rèn)的數(shù)值?
查找一番資料之后,發(fā)現(xiàn)vmoptions文件簡(jiǎn)直是狡兔三窟啊,在IDEA安裝目錄下的bin文件夾里,有一個(gè)idea.bat文件,在這里面配置了vmoptions文件的位置
找到真正的位置(我的C:\Users\pharma\.IntelliJIdea2017.2\config,這個(gè)實(shí)際路徑對(duì)應(yīng)上圖紅框中帶參數(shù)的路徑),再次進(jìn)行修改
重啟IDEA,查看右下角內(nèi)存指示器,當(dāng)當(dāng)當(dāng)當(dāng),成功!
等等!似乎哪里不太對(duì)勁??!為什么我設(shè)置了最大內(nèi)存2048,指示器卻顯示2014?作為強(qiáng)迫癥的資深代表,實(shí)在不能忍啊!
算一算差了多少,一七得七,二七四十八,三八婦女節(jié),五一勞動(dòng)節(jié),六一兒童節(jié)... ...
算了,還是嚴(yán)謹(jǐn)一點(diǎn),運(yùn)行calc打開(kāi)計(jì)算器算一算吧
配置文件里再加34M
重啟IDEA,再次查看右下角內(nèi)存指示器,變成了完美的2048!
PS:為什么初始內(nèi)存也要設(shè)置1024M那么大?有文章這樣說(shuō):此值可以設(shè)置與-Xmx相同,以避免每次垃圾回收完成后JVM重新分配內(nèi)存。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Springboot錯(cuò)誤頁(yè)面和錯(cuò)誤信息定制操作
這篇文章主要介紹了Springboot錯(cuò)誤頁(yè)面和錯(cuò)誤信息定制操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10java如何實(shí)現(xiàn)獲取客戶端ip地址的示例代碼
本文主要介紹了java如何實(shí)現(xiàn)獲取客戶端ip地址,主要包括java獲取客戶端ip地址工具類使用實(shí)例、應(yīng)用技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下2022-04-04java項(xiàng)目依賴包選擇具體實(shí)現(xiàn)類示例介紹
這篇文章主要為大家介紹了java項(xiàng)目依賴包選擇具體實(shí)現(xiàn)類示例介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12logstash將mysql數(shù)據(jù)同步到elasticsearch方法詳解
這篇文章主要為大家介紹了logstash將mysql數(shù)據(jù)同步到elasticsearch方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12使用Postman傳遞arraylist數(shù)據(jù)給springboot方式
這篇文章主要介紹了使用Postman傳遞arraylist數(shù)據(jù)給springboot方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12淺析Java的Hibernate框架中的緩存和延遲加載機(jī)制
這篇文章主要介紹了Java的Hibernate框架中的緩存和延遲加載機(jī)制,Hibernate是注明的Java下SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下2015-11-11了解java架構(gòu)之微服務(wù)架構(gòu)—雪崩效應(yīng)
這篇文章主要介紹了了解java架構(gòu)之微服務(wù)架構(gòu)—雪崩效應(yīng),微服務(wù)化產(chǎn)品線,每一個(gè)服務(wù)專心于自己的業(yè)務(wù)邏輯,并對(duì)外提供相應(yīng)的接口,看上去似乎很明了,其實(shí)還有很多的東西需要考慮,,需要的朋友可以參考下2019-06-06Jax-rs規(guī)范REST接口文件上傳代碼實(shí)例
這篇文章主要介紹了Jax-rs規(guī)范REST接口文件上傳代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09