提问者:小点点

Spring靴2执行器jvm.gc.内存.分配公制


有人能解释jvm.gc.memory.alloceded度量吗?什么意思?


共1个答案

匿名用户

如果你问我的话,这是一个相当奇怪的度量(在理解它并不是微不足道的意义上)。我们慢慢来。

首先,它是由Micrometer在这里生成的,如果您阅读它的描述:

在一个GC之后到下一个GC之前,随着年轻一代内存池大小的增加而增加

现在这个理论已经就绪,您可以查看isyounggenpool是什么,从:

if (youngGenPoolName != null) {
      final long youngBefore = before.get(youngGenPoolName).getUsed();
      final long youngAfter = after.get(youngGenPoolName).getUsed();
      final long delta = youngBefore - youngGenSizeAfter.get();
      youngGenSizeAfter.set(youngAfter);
      if (delta > 0L) {
           allocatedBytes.increment(delta);
      }
}

具体来说,这里定义了:

...结束(“伊甸园空间”)

这类方法测量应用程序在其生命周期内的分配量,但仅通过年轻的空间。imho,你应该仔细看看它,因为:

>

  • 它不跟踪大量的分配(对此有不同的度量)

    它只适用于分代垃圾收集器(例如,Shenandoah不是这样的收集器)