java虛擬機(jī)參數(shù)-D、-X和-XX的區(qū)別小結(jié)
最近在學(xué)習(xí)jvm調(diào)優(yōu)相關(guān)的內(nèi)容, 一直有一個(gè)疑問,為什么有些參數(shù)是以-X開頭的,有些是以-XX開頭的,還有-D開頭的?
通過查詢資料、總結(jié)如下
-XX
說明:
標(biāo)準(zhǔn)選擇(Standard Options)
這些是 JVM 的所有實(shí)現(xiàn)都支持的最常用的選項(xiàng)。
These are the most commonly used options that are supported by all implementations of the JVM.
示例:
例如以-XX開頭的配置參數(shù)
-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnable -XX:+UseFastAccessorMethods
-X
說明:
非標(biāo)準(zhǔn)選擇(Non-Standard Options)
這些選項(xiàng)是特定于 Java HotSpot 虛擬機(jī)的通用選項(xiàng)。
These options are general purpose options that are specific to the Java HotSpot Virtual Machine.
示例:
例如以-X開頭的配置參數(shù)
-Xmx256m -Xms256m -Xmn768m -Xss256k
-D
說明:
設(shè)置系統(tǒng)屬性值;
-D屬性名稱=屬性值
Sets a system property value. The property variable is a string with no spaces that represents the name of the property. The value variable is a string that represents the value of the property. If value is a string with spaces, then enclose it in quotation marks (for example -Dfoo=“foo bar”).
示例:
例如以-D開頭的配置參數(shù)
-Dspring.profiles.active=release -Dspring.config.location=/opt/app/conf/
如果 屬性值 是一個(gè)帶有空格的字符串,那么用引號將其括起來
例如 -Dfoo = “ foo bar”
如果想進(jìn)一步了解參數(shù)的詳細(xì)信息,可以查閱Oracle官網(wǎng)
Oracle官網(wǎng)關(guān)于參數(shù)的說明
常用JVM參數(shù)
1.-Xms:初始堆大小。只要啟動,就占用的堆大小。
2.-Xmx:最大堆大小。java.lang.OutOfMemoryError:Java heap這個(gè)錯(cuò)誤可以通過配置-Xms和-Xmx參數(shù)來設(shè)置。
3.-Xss:棧大小分配。棧是每個(gè)線程私有的區(qū)域,通常只有幾百K大小,決定了函數(shù)調(diào)用的深度,而局部變量、參數(shù)都分配到棧上。
當(dāng)出現(xiàn)大量局部變量,遞歸時(shí),會發(fā)生棧空間OOM(java.lang.StackOverflowError)之類的錯(cuò)誤。
4.XX:NewSize:設(shè)置新生代大小的絕對值。
5.-XX:NewRatio:設(shè)置年輕代和年老代的比值。比如設(shè)置為3,則新生代:老年代=1:3,新生代占總heap的1/4。
6.-XX:MaxPermSize:設(shè)置持久代大小。
java.lang.OutOfMemoryError:PermGenspace這個(gè)OOM錯(cuò)誤需要合理調(diào)大PermSize和MaxPermSize大小。
7.-XX:SurvivorRatio:年輕代中Eden區(qū)與兩個(gè)Survivor區(qū)的比值。注意,Survivor區(qū)有form和to兩個(gè)。比如設(shè)置為8時(shí),那么eden:form:to=8:1:1。
8.-XX:HeapDumpOnOutOfMemoryError:發(fā)生OOM時(shí)轉(zhuǎn)儲堆到文件,這是一個(gè)非常好的診斷方法。
9.-XX:HeapDumpPath:導(dǎo)出堆的轉(zhuǎn)儲文件路徑。
10.-XX:OnOutOfMemoryError:OOM時(shí),執(zhí)行一個(gè)腳本,比如發(fā)送郵件報(bào)警,重啟程序。后面跟著一個(gè)腳本的路徑。
到此這篇關(guān)于java虛擬機(jī)參數(shù)-D、-X和-XX的區(qū)別小結(jié)的文章就介紹到這了,更多相關(guān)java -D -X和-XX內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis中查詢結(jié)果為空時(shí)不同返回類型對應(yīng)返回值問題
這篇文章主要介紹了mybatis中查詢結(jié)果為空時(shí)不同返回類型對應(yīng)返回值問題,本文分幾種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-10-10
SpringBoot詳解整合Spring?Boot?Admin實(shí)現(xiàn)監(jiān)控功能
這篇文章主要介紹了SpringBoot整合Spring?Boot?Admin實(shí)現(xiàn)服務(wù)監(jiān)控,內(nèi)容包括Server端服務(wù)開發(fā),Client端服務(wù)開發(fā)其中Spring?Boot?Admin還可以對其監(jiān)控的服務(wù)提供告警功能,如服務(wù)宕機(jī)時(shí),可以及時(shí)以郵件方式通知運(yùn)維人員,感興趣的朋友跟隨小編一起看看吧2022-07-07
解決springboot依賴包中報(bào)錯(cuò)unknown的問題
這篇文章主要介紹了解決springboot依賴包中報(bào)錯(cuò)unknown的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02

