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