示例 指的是,以 Server模式啟動,初始堆1024m,最大堆1024m,初始新生代256m,最大新生代512m,列印詳細的GC日誌,並輸出到gc.$$.log。 常見虛擬機參數 client 客戶端模式。 server 服務端模式,Java8 64 ...
示例
-server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:+PrintGCDetails -Xloggc:/logs/gc.$$.log
指的是,以 Server模式啟動,初始堆1024m,最大堆1024m,初始新生代256m,最大新生代512m,列印詳細的GC日誌,並輸出到gc.$$.log。
常見虛擬機參數
-client
客戶端模式。
-server
服務端模式,Java8 64位預設這個模式。
-Dproperty=value
設置系統屬性值。
-jar filename
執行JAR程式。
-version
顯示版本信息
-Xloggc:
將 GC 狀態記錄在文件中 (帶時間戳),-Xloggc選項將覆蓋-verbose:gc
-Xmnsize
設置年輕代堆的初始和最大值。
可以替換使用-XX:NewSize設置初始值,-XX:MaxNewSize設置最大值。一般建議設置為堆大小的一半到四分之一之間。
-Xms
初始 Java 堆大小。該值必須是1024的倍數並且大於1 MB。
如果不設置此選項,則初始大小將被設置為老年代和年輕代的大小總和。
-Xmx
最大 Java 堆大小。該值必須是1024的倍數並且大於2 MB。
預設值是在運行時根據系統配置選擇的。對於伺服器部署,-Xms和-Xmx通常設置為相同的值。
-Xss
Java 線程堆棧大小。預設值取決於平臺:
- Linux/ARM (32-bit): 320 KB
- Linux/i386 (32-bit): 320 KB
- Linux/x64 (64-bit): 1024 KB
- OS X (64-bit): 1024 KB
- Oracle Solaris/i386 (32-bit): 320 KB
- Oracle Solaris/x64 (64-bit): 1024 KB
-XX:ErrorFile=filename
指定發生不可恢復錯誤時錯誤日誌的路徑。
-XX:MaxDirectMemorySize=size
設置NIO直接緩衝區分配的最大值。
-XX:+HeapDumpOnOutOfMemory
發生OutOfMemoryError異常時,生成dump文件。可以使用-XX:HeapDumpPath指定堆轉儲文件的路徑和名稱。
-XX:LogFile=路徑
設置寫入日誌數據的路徑和文件名。
-XX:NewRatio=比率
年輕代和老年代的比例。
-XX:+PrintGC
GC時列印消息。
-XX:+PrintGCDetails
GC時列印詳細的消息。
-XX:+UseConcMarkSweepGC
為老年代啟用CMS垃圾收集器。
-XX:+UseG1GC
啟用G1收集器。
-XX:+UseParallelGC
啟用並行掃描垃圾收集器
-XX:+UseParallelOldGC
啟用老年代的並行掃描垃圾收集器
-XX:+UseParNewGC
啟用新生代的並行掃描垃圾收集器
參考資料:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html