Java虚拟机(JVM)的命令行参数有很多,可以用来调整JVM的运行行为。以下是一些常用的JVM参数:
-Xms:设置JVM的初始堆内存大小。例如,-Xms256m表示将初始堆内存大小设置为256兆字节。
-Xmx:设置JVM的最大堆内存大小。例如,-Xmx1024m表示将最大堆内存大小设置为1024兆字节。
-XX:NewRatio:设置年轻代(Young Generation)和老年代(Old Generation)的比例。例如,-XX:NewRatio=4表示年轻代与老年代的比例为1:4。
-XX:SurvivorRatio:设置Eden区和两个Survivor区的比例。例如,-XX:SurvivorRatio=8表示Eden区与每个Survivor区的比例为8:1。
-XX:+UseSerialGC:启用串行垃圾回收器(Serial GC)。
-XX:+UseParallelGC:启用并行垃圾回收器(Parallel GC)。
-XX:+UseConcMarkSweepGC:启用CMS垃圾回收器(Concurrent Mark Sweep GC)。
-XX:+UseG1GC:启用G1垃圾回收器(Garbage First GC)。
-XX:MaxGCPauseMillis:设置G1垃圾回收器的最大停顿时间。例如,-XX:MaxGCPauseMillis=200表示最大停顿时间不超过200毫秒。
-XX:+PrintGCDetails:打印详细的垃圾回收日志。
-XX:+PrintGCDateStamps:在垃圾回收日志中添加时间戳。
-XX:+HeapDumpOnOutOfMemoryError:在发生OutOfMemoryError时生成堆转储文件。
-XX:HeapDumpPath:设置堆转储文件的路径。
-XX:+UseNUMA:启用非统一内存访问(NUMA)优化。
-XX:+UseLargePages:启用大页内存支持。
-XX:+AggressiveOpts:启用激进的优化选项。
-XX:+AlwaysPreTouch:在堆内存分配时预先触发内存触摸。
-XX:+UseNUMA优化:启用NUMA优化。
-XX:+UseLargePages优化:启用大页内存优化。
这些参数只是JVM参数的一部分,还有其他参数可以根据实际需求进行调整。要查看所有可用的JVM参数,可以访问Oracle官方文档或运行java -XshowSettings:properties -version命令。