一.分配速率
分配速率(Allocation rate)表示单位时间内分配的内存量。通常使用 MB/sec作 为单位。上一次垃圾收集之后,与下一次GC开始之前的年轻代使用量,两者的差值除以时间,就是分配速率。
回收速率:回收量/消耗时间
正常系统:分配速率较低 ~ 回收速率 -> 健康
内存泄漏:分配速率 持续大于 回收速率 -> OOM
性能劣化:分配速率很高 ~ 回收速率 -> 亚健康
分配速率过高就会严重影响程序的性能,在 JVM 中可能会导致巨大的 GC 开销
JVM 启动之后 291ms,共创建了 33,280 KB 的对象。第一 次 Minor GC(小型GC) 完成后,年轻代中还有 5,088 KB 的对象存活。 在启动之后 446 ms,年轻代的使用量增加到 38,368 KB, 触发第二次 GC,完成后年轻代的使用量减少到 5,120 KB。 在启动之后 829 ms,年轻代的使用量为 71,680 KB,GC 后变为 5,120 KB。
性能调优:分配速率到底影响什么?
new 出来的对象在Eden。 假如我们增加 Eden,会怎么样。 考虑蓄水池效应。
最终的效果是,影响 Min