.NET CLR内存“所有堆中的字节数”远低于“第0代堆大小”

时间:2012-04-19 21:05:02

标签: performancecounter

我正在查看可能的ASP.NET 4应用程序(工作流服务)的性能计数器

.NET CLR Memory -- # Bytes in all Heaps :    44,420,488
.NET CLR Memory -- Gen 0 heap size :        311,665,568
.NET CLR Memory -- Gen 1 heap size :         17,723,080
.NET CLR Memory -- Gen 2 heap size :         25,956,920
.NET CLR Memory -- Large Object Heap size :     740,488

"所有堆中的#字节"柜台

  

此计数器是其他四个计数器的总和; Gen 0堆大小;第1代堆大小;第2代堆大小和大对象堆大小。此计数器指示GC堆上以字节为单位分配的当前内存。

请注意,它表示"其他四个计数器的总和"不仅仅是"在其他四个堆上分配的字节总数",这是有意义的,因为在Gen 0垃圾收集后Gen 0堆中有0个字节。

我注意到在我的情况下,所有堆中的#Bytes恰好是Gen 1 + Gen 2 + Large Object Heap。这是一个错误吗?或者我想念这些数字吗?

Windows 7企业版,性能监视器6.1.7601

1 个答案:

答案 0 :(得分:4)

根据this,所有堆= Gen 1 + Gen 2 +大对象堆 (没有第0代)