jstat -gcutil的结果适用于分代垃圾回收,但是如何统计zgc的结果呢?
发布于 2021-02-04 01:00:37
afaik,每个GC算法都实现了自己的统计信息,这意味着它是特定于收集器的输出。是的,ZGC不是代际的,因此一些统计数据不会出现,这是正常的,但除此之外,它只是工作吗?
如果我有一个样本:
public class DeleteMe {
public static void main(String[] args) {
for(;;){
LockSupport.parkNanos(TimeUnit.MILLISECONDS.toNanos(500));
System.out.println(allocate());
}
}
static int allocate() {
int [] b = new int[10_000];
for(int i=0;i<10_000;++i){
b[i] = i + ThreadLocalRandom.current().nextInt();
}
return Arrays.hashCode(b);
}
}然后拍摄以下内容的快照:
jstat -gcutil <PID>我确实看到了这样的数字:
S0 S1 E O M CCS YGC YGCT FGC FGCT CGC CGCT GCT
- - - 15.38 76.33 74.80 - - - - 63 0.005 0.005S0/S1/E是空白的,因为它们根本不存在(根本没有年轻一代)。同样的论点也适用于:YGC/YGCT/FGC/FGCT,原因很简单,因为ZGC中没有这样的东西。你可以找到他们的意思,here, for example。还有一些this Q&A解释了上面文档中没有的一些选项。
https://stackoverflow.com/questions/66023375
复制相似问题