java虛擬機參數(shù)-D、-X和-XX的區(qū)別小結(jié)
最近在學(xué)習(xí)jvm調(diào)優(yōu)相關(guān)的內(nèi)容, 一直有一個疑問,為什么有些參數(shù)是以-X開頭的,有些是以-XX開頭的,還有-D開頭的?
通過查詢資料、總結(jié)如下
-XX
說明:
標準選擇(Standard Options)
這些是 JVM 的所有實現(xiàn)都支持的最常用的選項。
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
說明:
非標準選擇(Non-Standard Options)
這些選項是特定于 Java HotSpot 虛擬機的通用選項。
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/
如果 屬性值 是一個帶有空格的字符串,那么用引號將其括起來
例如 -Dfoo = “ foo bar”
如果想進一步了解參數(shù)的詳細信息,可以查閱Oracle官網(wǎng)
Oracle官網(wǎng)關(guān)于參數(shù)的說明
常用JVM參數(shù)
1.-Xms:初始堆大小。只要啟動,就占用的堆大小。
2.-Xmx:最大堆大小。java.lang.OutOfMemoryError:Java heap這個錯誤可以通過配置-Xms和-Xmx參數(shù)來設(shè)置。
3.-Xss:棧大小分配。棧是每個線程私有的區(qū)域,通常只有幾百K大小,決定了函數(shù)調(diào)用的深度,而局部變量、參數(shù)都分配到棧上。
當出現(xiàn)大量局部變量,遞歸時,會發(fā)生棧空間OOM(java.lang.StackOverflowError)之類的錯誤。
4.XX:NewSize:設(shè)置新生代大小的絕對值。
5.-XX:NewRatio:設(shè)置年輕代和年老代的比值。比如設(shè)置為3,則新生代:老年代=1:3,新生代占總heap的1/4。
6.-XX:MaxPermSize:設(shè)置持久代大小。
java.lang.OutOfMemoryError:PermGenspace這個OOM錯誤需要合理調(diào)大PermSize和MaxPermSize大小。
7.-XX:SurvivorRatio:年輕代中Eden區(qū)與兩個Survivor區(qū)的比值。注意,Survivor區(qū)有form和to兩個。比如設(shè)置為8時,那么eden:form:to=8:1:1。
8.-XX:HeapDumpOnOutOfMemoryError:發(fā)生OOM時轉(zhuǎn)儲堆到文件,這是一個非常好的診斷方法。
9.-XX:HeapDumpPath:導(dǎo)出堆的轉(zhuǎn)儲文件路徑。
10.-XX:OnOutOfMemoryError:OOM時,執(zhí)行一個腳本,比如發(fā)送郵件報警,重啟程序。后面跟著一個腳本的路徑。
到此這篇關(guān)于java虛擬機參數(shù)-D、-X和-XX的區(qū)別小結(jié)的文章就介紹到這了,更多相關(guān)java -D -X和-XX內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
安裝elasticsearch-analysis-ik中文分詞器的步驟講解
今天小編就為大家分享一篇關(guān)于安裝elasticsearch-analysis-ik中文分詞器的步驟講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02Java?設(shè)計模式以虹貓藍兔的故事講解簡單工廠模式
簡單工廠模式是屬于創(chuàng)建型模式,又叫做靜態(tài)工廠方法(Static Factory Method)模式,但不屬于23種GOF設(shè)計模式之一。簡單工廠模式是由一個工廠對象決定創(chuàng)建出哪一種產(chǎn)品類的實例。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現(xiàn)2022-03-03

詳解Java如何使用責(zé)任鏈默認優(yōu)雅地進行參數(shù)校驗