Java虛擬機(JVM)有許多常見參數,用于控制其行為和性能。以下是一些常見的JVM參數及其說明:
1. 內存管理參數
-Xms<size>
START
設置初始堆內存大小。例如,`-Xms512m`表示初始堆大小為512MB。
-Xmx<size>
MAX
設置最大堆內存大小。例如,`-Xmx2048m`表示最大堆大小為2048MB。
-Xmn<size>
NEW
設置年輕代的大小,通常用于調優GC性能。
2. 垃圾回收參數
-XX:+UseSerialGC
使用串行垃圾回收器。
-XX:+UseParallelGC
使用并行垃圾回收器。
-XX:+UseG1GC
使用G1垃圾回收器,適用于大堆內存的應用。
3. 性能調優參數
-XX:NewRatio=<value>
設置年輕代與老年代的比例。
-XX:SurvivorRatio=<value>
設置年輕代中Eden區與Survivor區的比例。
-XX:MaxTenuringThreshold
設置對象在年輕代中被晉升到老年代前的最大年齡。
4. 調試與監控參數
-XX:+PrintGCDetails
輸出詳細的GC日志信息。
-XX:+PrintGCTimeStamps
在GC日志中輸出時間戳。
-Xloggc:<file>
將GC日志輸出到指定文件。
5.管理棧參數
1. -Xss
- 描述:設置每個線程的棧大小。
- 示例:
-Xss512k
表示每個線程的棧大小為512KB。
2. -XX:ThreadStackSize
- 描述:這是一個用于設置線程棧大小的參數,主要在某些JVM實現中使用。
- 示例:
-XX:ThreadStackSize=256k
設置線程棧大小為256KB。
3. -XX:MaxJavaStackTraceDepth
- 描述:設置Java棧跟蹤的最大深度。
- 示例:
-XX:MaxJavaStackTraceDepth=1000
限制Java棧跟蹤的最大深度為1000
6. 其他參數
- `-D<name>=<value>`:設置系統屬性,供Java應用使用。
- `-classpath` 或 `-cp`:指定類路徑,用于查找Java類文件。