Eclipse?IDE中如何設(shè)置JVM啟動參數(shù)
如何設(shè)置JVM啟動參數(shù)
關(guān)于《深入理解Java虛擬機》里面測試OutOfMemoryError異常的部分,需要對虛擬機的啟動參數(shù)進行設(shè)置
下面是一些設(shè)置的步驟
1. 右鍵選擇項目,在彈出的菜單進行選擇
2. 在彈出的Debug Configurations面板,左側(cè)的type filter text下面選擇Java Application,找到自己的項目,例如我的項目HeapOOM.
3. 在Debug Configurations面板選擇Arguments,在VM arguments下面輸入啟動參數(shù)即可,例如:
-verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+HeapDumpOnOutOfMemoryError
4. 點擊Apply, 最后點擊Debug完成設(shè)置。
下面是,設(shè)置成功后,《深入理解Java虛擬機》一書測試用例的輸出結(jié)果。如下:
至此,完成測試。
在Eclipse上手動設(shè)置jvm參數(shù)
典型設(shè)置
java -Xmx3550m -Xms3550m -Xmn2g -Xss128k
-Xmx3550m
:設(shè)置JVM最大可用內(nèi)存為3550M。-Xms3550m
:設(shè)置JVM促使內(nèi)存為3550m。此值可以設(shè)置與-Xmx相同,以避免每次垃圾回收完成后JVM重新分配內(nèi)存。-Xmn2g
:設(shè)置年輕代大小為2G。整個JVM內(nèi)存大小=年輕代大小 + 年老代大小 + 持久代大小。持久代一般固定大小為64m,所以增大年輕代后,將會減小年老代大小。此值對系統(tǒng)性能影響較大,Sun官方推薦配置為整個堆的3/8。-Xss128k
:設(shè)置每個線程的堆棧大小。JDK5.0以后每個線程堆棧大小為1M,以前每個線程堆棧大小為256K。更具應(yīng)用的線程所需內(nèi)存大小進行調(diào)整。在相同物理內(nèi)存下,減小這個值能生成更多的線程。但是操作系統(tǒng)對一個進程內(nèi)的線程數(shù)還是有限制的,不能無限生成,經(jīng)驗值在3000~5000左右。
java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0
-XX:NewRatio=4
:設(shè)置年輕代(包括Eden和兩個Survivor區(qū))與年老代的比值(除去持久代)。設(shè)置為4,則年輕代與年老代所占比值為1:4,年輕代占整個堆棧的1/5-XX:SurvivorRatio=4
:設(shè)置年輕代中Eden區(qū)與Survivor區(qū)的大小比值。設(shè)置為4,則兩個Survivor區(qū)與一個Eden區(qū)的比值為2:4,一個Survivor區(qū)占整個年輕代的1/6-XX:MaxPermSize=16m
:設(shè)置持久代大小為16m。-XX:MaxTenuringThreshold=0
:設(shè)置垃圾最大年齡。如果設(shè)置為0的話,則年輕代對象不經(jīng)過Survivor區(qū),直接進入年老代。對于年老代比較多的應(yīng)用,可以提高效率。如果將此值設(shè)置為一個較大值,則年輕代對象會在Survivor區(qū)進行多次復制,這樣可以增加對象再年輕代的存活時間,增加在年輕代即被回收的概論。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java8之LocalDate的使用、LocalDate格式化問題
這篇文章主要介紹了java8之LocalDate的使用、LocalDate格式化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04解決feignclient調(diào)用服務(wù),傳遞的中文數(shù)據(jù)成???問題
這篇文章主要介紹了解決feignclient調(diào)用服務(wù),傳遞的中文數(shù)據(jù)成???問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Java解析調(diào)用webservice服務(wù)的返回XML串詳解
這篇文章主要介紹了Java解析調(diào)用webservice服務(wù)的返回XML串詳解的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07Spring IOC源碼剖析_如何整體認知Spring體系結(jié)構(gòu)
這篇文章主要介紹了Spring IOC源碼剖析_如何整體認知Spring體系結(jié)構(gòu)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09