全网最全自考必备AI论文软件TOP9:9款深度测评与推荐
2026/1/16 12:08:25
在 JDK 8 中,JVM 参数主要分为三类:标准参数(-X 和 -XX)、系统属性参数(-D)以及用于垃圾回收(GC)和性能调优的参数。以下是一些常用的 JVM 参数及其作用:
-Xms:设置 JVM 启动时的初始堆内存大小。例如-Xms2g表示初始堆大小为 2GB。-Xmx:设置 JVM 最大堆内存大小。例如-Xmx4g表示最大堆大小为 4GB。-XX:MetaspaceSize:设置元空间的初始大小。例如-XX:MetaspaceSize=256m。-XX:MaxMetaspaceSize:设置元空间的最大大小。例如-XX:MaxMetaspaceSize=512m。-Xmn:设置年轻代的大小。例如-Xmn512m表示年轻代大小为 512MB。-XX:NewRatio:设置年轻代与老年代的比例。例如-XX:NewRatio=3表示年轻代占整个堆的 1/4。-XX:SurvivorRatio:设置 Eden 区与 Survivor 区的比例。例如-XX:SurvivorRatio=8表示 Eden 区与 Survivor 区的比例为 8:1。-XX:+UseG1GC:启用 G1 垃圾收集器。G1 是 JDK 8 中推荐的垃圾收集器,适用于大堆内存应用。-XX:+UseParallelGC:启用并行垃圾收集器(Parallel GC),适用于吞吐量优先的场景。-XX:+UseConcMarkSweepGC:启用 CMS 垃圾收集器,适用于低延迟要求的应用。-XX:MaxGCPauseMillis:设置最大垃圾收集暂停时间目标。例如-XX:MaxGCPauseMillis=200表示目标暂停时间为 200 毫秒。-XX:G1HeapRegionSize:设置 G1 堆区域的大小。例如-XX:G1HeapRegionSize=16m。-XX:+PrintGCDetails:输出详细的 GC 信息。-XX:+PrintGCDateStamps:输出 GC 时间戳。-Xloggc:<file>:指定 GC 日志文件路径。例如-Xloggc:/opt/applogs/gc.log。-XX:+UseGCLogFileRotation:启用 GC 日志滚动。-XX:NumberOfGCLogFiles:设置滚动日志文件数量。-XX:GCLogFileSize:设置每个 GC 日志文件的大小。-XX:+DisableExplicitGC:禁用显式调用System.gc()。-XX:+ParallelRefProcEnabled:启用并行引用处理。-XX:+UseBiasedLocking:启用偏向锁优化。-XX:+UseFastAccessorMethods:启用快速访问器方法优化。-XX:+AggressiveOpts:启用激进优化。-XX:+PrintCommandLineFlags:打印 JVM 启动时的参数。-XX:+PrintFlagsFinal:打印最终生效的 JVM 参数。-Dfile.encoding=UTF-8:设置文件编码。-Djava.net.preferIPv4Stack=true:优先使用 IPv4。-Djava.security.egd=file:/dev/./urandom:优化随机数生成。-Xms32g -Xmx32g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16m -XX:InitiatingHeapOccupancyPercent=45 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -Xloggc:/opt/applogs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/applogs/heapdump.hprof -XX:ErrorFile=/opt/applogs/hs_err_pid%p.log