深入JVM:(六)常用JVM配置引數
一、Trace跟蹤引數
-verbose:gc
:輸出虛擬機器中GC的詳細情況
-XX:+PrintGC
:與 -verbose:gc 是一樣的,可以認為-verbose:gc 是 -XX:+PrintGC的別名
-XX:+PrintGCDetails
: 列印GC詳細資訊

PrintGCDetails.png
-XX:+PrintGCTimeStamps
:列印GC時間戳
-XX:+TraceClassLoading
:監控類的載入

TraceClassLoading.png
二、堆分配引數
-Xmx –Xms
:指定最大堆和最小堆
-Xmn
: 設定新生代大小
-XX:NewRatio
: 新生代(eden+2*s)和老年代(不包含永久區)的比值 4 表示 新生代:老年代=1:4,即年輕代佔堆的1/5
-XX:SurvivorRatio
:設定兩個Survivor區和eden的比 8表示 兩個Survivor :eden=2:8,即一個Survivor佔年輕代的1/10
-XX:+HeapDumpOnOutOfMemoryError
:OOM時匯出堆到檔案
-XX:+HeapDumpPath
:匯出OOM的路徑
-Xmx20m -Xms5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/a.dump
三、永久區分配引數
-XX:PermSize -XX:MaxPermSize
:設定永久區的初始空間和最大空間
三、棧分配引數
-Xss
通常只有幾百K,決定了函式呼叫的深度,每個執行緒都有獨立的棧空間,區域性變數、引數 分配在棧上