Jvm参数——规律记忆方法

229 阅读2分钟

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

一、参数类型与命名规律

  1. 标准参数-开头)
    稳定性高,如-version-help

  2. 非标准参数-X开头)
    功能稳定但可能随版本变化,命名多采用英文缩写

    • -XmsMemory Start(初始堆内存)
    • -XmxMemory MaX(最大堆内存)
    • -XmnNew Generation(新生代大小)
    • -XssStack Size(线程栈大小)
  3. 高级参数-XX开头)
    命名规则更复杂,常见模式:

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

二、核心参数分类与示例

1. 内存管理

参数作用记忆规律(英文缩写)
-Xms512m初始堆内存Memory Start
-Xmx4g最大堆内存Memory 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=8Eden与Survivor区比例(8:1:1)Survivor(幸存区)+ Ratio(比例)
-XX:MaxTenuringThreshold=15对象晋升老年代年龄阈值Tenuring(晋升)+ Threshold(阈值)

3. 线程与并发

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

4. 性能调优

参数作用记忆规律
-XX:+UseCompressedOops启用压缩指针(节省内存)Compressed(压缩)+ Object Pointers
-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调优参数。