当.NET Garbage Collection压缩堆时,"Allocate Bytes"性能计数器是否已更新?

LJM*_*LJM 5 .net memory garbage-collection

.NET CLR的垃圾收集器压缩堆.我认为这意味着当它扫过去除未标记的对象时,堆上的下一个(仍然存在的)对象会向上移动.因此,根据我的理解,压缩会移动物体.移动这些对象时,移动是否会影响Allocated Bytes/Sec性能计数器?或者这个计数器只是在堆上添加了多少字节?

PHe*_*erg 1

根据这篇关于 GC 性能计数器的文章,“分配字节/秒”计数器计算 Gen0 和 LOH 中对象的分配字节数。由于 Gen0 在每次 Gen0 GC 后总是被清空,并且 LOH 永远不会进行碎片整理,因此它不应影响此指标。