JVM 调优参数非常多,通常可以分为以下几大类:堆内存设置、非堆内存设置、垃圾回收器(GC)选择、GC 日志与排查。 以下是开发和运维中最常用的 JVM 参数详解: --- 1. 堆内存相关 (Heap Memory) 这是最基础也是最重要的调整部分,直接影响 OOM(内存溢出)和 GC 频率。 (Initial Heap Size) 含义:JVM 启动时的初始堆内存大小。 建议:通常设置为与 相同,以避免 JVM 在运行过程中因为动态扩容和缩容堆内存而产生额外的性能开销。 示例: (Maximum Heap Size) 含义:JVM 允许申请的最大堆内存大小。 建议:不要超过物理内存的 70%-80%,给操作系统和其他进程留足空间。 示例: (New Generation Size) 含义:设置新生代(Young Gen)的大小。 影响:设置过小会导致频繁 Minor GC;设置过大会导致老年代变小,引发 Full GC。 建议:通常设置为堆总大小的 1/3 到 1/4。推荐使用 G1 收集器时不要手动设置此值,让 G1 自动调整。 示例: 含义:新生代中 Eden 区与 Su...