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
命令。