hbzhang

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年12月3日

摘要: 引言 以个人的经验,在.Net下所有的OOM问题都是有解的,但有一个唯一的例外,就是GC大对象堆的碎片化问题。.Net的GC程序有一个致命缺陷,就是从来不对大对象堆LOH(Large Object Heap)进行内存整理。随着时间的推移,一个持续运行的程序必然面对LOH碎片化的困境。如果程序足够好,例如只有很少量的大对象或者创建大对象的频率足够低,那么LOH碎片化的几率就会降低,但也仅仅是降低而已。对于一个实际的企业应用程序,由于不可能避免大对象的分配,也就不可能避免LOH的碎片化问题,从而也就无法从根本上避免OOM问题。以后有时间再详细探讨.Net GC程序的各个特性,本文先点到即止。 问题 阅读全文
posted @ 2011-12-03 00:14 hbzhang 阅读(431) 评论(1) 推荐(0) 编辑