Jvm参数——规律记忆方法

根据JVM调优参数的命名规律和功能,可以将其分类归纳如下:

一、参数类型与命名规律

  1. 标准参数-开头)

    稳定性高,如-version-help

  2. 非标准参数-X开头)

    功能稳定但可能随版本变化,命名多采用英文缩写

    • -XmsM emory Start(初始堆内存)
    • -XmxM emory MaX(最大堆内存)
    • -XmnNew Generation(新生代大小)
    • -XssS tack Size(线程栈大小)
  3. 高级参数-XX开头)

    命名规则更复杂,常见模式:

    • 布尔开关-XX:+UseG1GC(启用G1)、-XX:-UseTLAB(禁用TLAB)
    • 数值配置-XX:NewRatio=2(新生代:老年代=1:2)
    • 缩写组合-XX:MaxMetaspaceSize(元空间最大容量)

二、核心参数分类与示例

1. 内存管理

参数 作用 记忆规律(英文缩写)
-Xms512m 初始堆内存 M emory Start
-Xmx4g 最大堆内存 M emory MaX
-Xmn2g 新生代大小 New Generation
-XX:MetaspaceSize=256m 元空间初始大小 Meta(元数据)+ Space(空间)
-XX:MaxDirectMemorySize=1g 堆外内存限制 Direct(直接)+ Memory

2. 垃圾回收(GC)

参数 作用 记忆规律
-XX:+UseG1GC 启用G1垃圾回收器 Use + G1(算法名)
-XX:MaxGCPauseMillis=200 最大GC停顿时间目标 Max + GC Pause(停顿)
-XX:SurvivorRatio=8 Eden与Survivor区比例(8:1:1) Survivor(幸存区)+ Ratio(比例)
-XX:MaxTenuringThreshold=15 对象晋升老年代年龄阈值 Tenuring(晋升)+ Threshold(阈值)

3. 线程与并发

参数 作用 记忆规律
-Xss1m 线程栈大小 S tack Size
-XX:ParallelGCThreads=4 并行GC线程数 Parallel(并行)+ GC线程
-XX:ConcGCThreads=2 并发GC线程数 Concurrent(并发)

4. 性能调优

参数 作用 记忆规律
-XX:+UseCompressedOops 启用压缩指针(节省内存) Compressed (压缩)+ O bject P ointers
-XX:+DoEscapeAnalysis 开启逃逸分析(栈上分配对象) Escape(逃逸)+ Analysis(分析)

三、记忆规律总结

  1. 参数前缀

    • -X:非标准参数,多用于内存和基础配置。
    • -XX:高级调优,覆盖GC、线程、元数据等。
  2. 缩写逻辑

    • 单字母缩写 :如ms(Memory Start)、mx(Memory Max)。
    • 单词组合 :如NewRatio(新生代比例)、SurvivorRatio(幸存区比例)。
    • 功能描述 :如UseG1GC(使用G1回收器)、HeapDumpOnOutOfMemoryError(内存溢出时导出堆快照)。
  3. 版本演进

    • JDK 8后PermSizeMetaspaceSize取代。
    • JDK 9后G1成为默认GC。

四、调优建议

  1. 堆内存-Xms-Xmx设为相同值,避免动态扩容开销。
  2. GC选择:低延迟选G1/ZGC,高吞吐选Parallel GC。
  3. 监控工具 :结合jstatjmap和GC日志分析瓶颈。

通过理解参数命名规律,可以更高效地记忆和组合使用JVM调优参数。

相关推荐
小鱼人爱编程35 分钟前
Java基石--反射让你直捣黄龙
前端·spring boot·后端
hqxstudying41 分钟前
J2EE模式---服务层模式
java·数据库·后端·spring·oracle·java-ee
GM_8281 小时前
【最新最完整】SpringAI-1.0.0开发MCP Server,搭建MCP Client 实战笔记(进阶+详细+完整代码)
java·后端·ai编程·springai·mcp
程序员爱钓鱼1 小时前
Go语言实战案例-滑动窗口最大值
后端·google·go
Victor3562 小时前
MySQL(163) 如何理解MySQL的隔离级别?
后端
Victor3562 小时前
MySQL(164)如何设置MySQL的隔离级别?
后端
代码老y3 小时前
ASP.NET Core 高并发万字攻防战:架构设计、性能优化与生产实践
后端·性能优化·asp.net
武子康8 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
舒一笑9 小时前
我的开源项目-PandaCoder迎来史诗级大更新啦
后端·程序员·intellij idea
@昵称不存在10 小时前
Flask input 和datalist结合
后端·python·flask