LOH内部人员想要

时间:2011-04-20 04:25:43

标签: .net clr large-object-heap

我知道,这是一个实施细节,有些人认为禁止对它们感兴趣。但我仍然希望找到以下内容的参考和确认:

  1. 大对象堆维护段中的空洞列表。它使用它来满足大对象的分配请求。这是否也意味着这种分配可能比小对象堆的常规(仅增加分配指针)分配更昂贵? Reference

  2. 在32位进程中,段大小的下限为16MB。 64位进程的大小限制是多少?

  3. 备注:此问题不要求正确的对象设计(池)解决方案。

1 个答案:

答案 0 :(得分:1)

我刚刚在VMMap的帮助下找到了问题的第二部分:

最小分段大小

在32位上(在MS博客中也报告了这种方式):

Initial segment size for Gen 0,1,2:       16 MB   
Initial segment size for LOH:             16 MB  
Size for larger LOH chunks:multiples of    8 MB  

在64位上(仅通过尝试找到):

Initial segment size for Gen 0,1,2:      256 MB  
Initial segment size for LOH:            128 MB  
Size for larger LOH chunks: multiples of 128 MB