首页 > 试题广场 >

常见的jvm参数都有哪些?

[问答题]
常见的jvm参数都有哪些?
一、堆内存相关参数 -Xms初始堆内存大小 -Xmx最大堆内存 -XX:NewRatio 老年代和新生代的比值 默认2:1 -XX:SurvivorRatio 新生代里的Eden区和survivor的from to区的比值 默认8:1:1 -Xmn 直接设置新生代的大小 -XX:+HeapDumpOnOutOfMemoryError OOM时导出dump文件 -XX:HeapDumpPath= 指定转储路径 二、垃圾回收相关参数 -XX:+UseSerialGC 串行GC(单线程,适合小内存应用) -XX:+UseParallelGC 并行GC(多线程,适合吞吐量优先) -XX:+UseConcMarkSweepGC CMS_GC(低停顿,适合 Web 应用) -XX:+UseG1GC G1_GC(分代 + 分区,适合大内存应用) 调优参数 -XX:MaxGCPauseMillis= 目标最大 GC 停顿时间(毫秒) -XX:GCTimeRatio=99 GC时间占比不超过 1%(吞吐量 = 1/(1+99)) -XX:+PrintGCDetails 打印GC 详细信息 -XX:+PrintGCTimeStamps 打印GC 时间戳 三、方法区(元空间)参数 -XX:MetaspaceSize= 元空间初始大小 -XX:MaxMetaspaceSize= 元空间最大大小 -XX:+PrintClassHistogram 打印类加载统计信息(用于诊断类加载问题) 四、栈内存参数 -Xss1m 每个线程栈大小 设置 -XX:+UseCompressedOops 使用压缩指针(节省内存) -XX:+DisableExplicitGC 禁止代码中显式调用 System.gc() -Dfile.encoding=UTF-8 设置文件编码 -javaagent:/path/to/agent.jar 加载 Java 代理
发表于 2025-06-23 23:39:40 回复(0)