JVM參數、配置項含義
學習自:輕松永遠記住經典jvm參數
有OutOfMemoryError有關的JVM參數_crash參數 java jvm_毛發旺盛的程序員的博客-CSDN博客
1、參數分類
參數開頭有四種:-、-X、-XX、-D
java jvm.參數 jvm參數 -d_ctaxnews的技術博客_51CTO博客
| 標志 | 類型 | 說明 |
| - | 標準參數 | 所有JVM都必須實現這些參數功能,并向后兼容 |
| -X | 非標準參數 | 默認JVM實現這些參數,但是并非所有JVM都實現,且不保證向后兼容 |
| -XX | 非stable參數 | 各個JVM實現有所不同,且將來會被隨時取消,謹慎使用 |
| -D | 系統屬性 |
作用同設置于JAVA_HOME中的配置項。 如果所有項都通過-D配置,那么會覆蓋掉JAVA_HOME中的配置。
|
2、-X
| 參數 | 理解 | 說明 |
| -Xms | -X、memory、size | 初始堆內存大小 |
| -Xmx | max | 堆最大內存 |
| -Xmn | new | 新生代內存 |
| -Xss | -X、stack、size | 棧大小 |
3、-XX
| 參數 | 說明 |
| MetaspaceSize |
元空間初始大小。 該值太小會引起FULL GC。 |
| MaxMetaspaceSize | 元空間最大大小。 |
|
+UseParNewGC
|
新生代區域多線程GC模式。 常規收集器是Serial單線程模式。 |
|
ParallelGCThreads |
GC并發線程數。 |
|
JVM會在遇到OutOfMemoryError時拍攝一個“堆轉儲快照”,并將其保存在一個文件中。 |
|
| ExitOnOutOfMemoryError |
傳遞此參數時,拋出OutOfMemoryError時JVM將立即退出。用于終止程序,常用于容器化部署情況下出錯時快速終止并重啟。 為什么 java 容器推薦使用 ExitOnOutOfMemoryError 而非 HeapDumpOnOutOfMemoryError ? - 簡書 |
| UseGCOverheadLimit |
jvm會預判將要會發生OutOfMemery異常,就提早拋出這個異常。并不代表jvm沒有內存空間了。 該參數會關閉JVM的預判功能。 |
| CMSInitiatingOcCupancyFraction |
觸發OldGC時,老年代內存使用率需要超過的閾值。 |
| CMSClassUnloadingEnabled |
Java類卸載功能是否開啟。 類卸載:類加載器不需要某個類時,將其從內存中釋放。 JVM標志CMSClassUnloadingEnabled實際上做了什么?_pdb文件實際上做了什么?_offsetStackFrame在JVM規范中做了什么 - 騰訊云開發者社區 - 騰訊云 |
| ExplicitGCInvokesConcurrent |
在做System.gc()時會做background模式CMS GC,即并行FULL GC,可提高FULL GC效率。 |
| CrashOnOutOfMemoryError |
傳入此參數時,JVM將在拋出OutOfMemoryError時立即退出。除了退出,JVM還會生成文本和二進制崩潰文件(如果啟用了核心文件)。 有OutOfMemoryError有關的JVM參數_crash參數 java jvm_毛發旺盛的程序員的博客-CSDN博客 |
4、-D
|
參數 |
說明 |
|
-Dmarathon.app.id -Dhostname |
可以理解為是一些環境變量,最終會傳入系統中使用。 |
| -Duser.timezone、language、country | 時區、語言、地區 |

浙公網安備 33010602011771號