ASP.NET中的OutOfMemoryException
ASP.NET中的OutOfMemoryException 在博客园看到了一位园友写的文章 《如何处理 OutOfMemoryException 异常?》 ,于是想和大家交流一下 ASP.NET 中出现 OutOfMemoryException 的问题。 实际上,在 ASP.NET Web 服务器上, ASP.NET 所能够用到的内存,通常不会等同于所有的内存数量。在 machine.config 配置文件中, 配 置 节 <processModel> 中有一个属性 “memoryLimit” ,这个属性的值是一个百分值,默认为 “60” ,即指定了 ASP.NET 进程(在任务管理器中大家就可以看到 ASP.NET 的进程, IIS5 中为 aspnet_wp , IIS6 中为 w3wp )能够使用所有物理内存的 60% 。当 ASP.NET 使用的内存量超过这个限额时, IIS 会开始自动回收( recycle )进程,即创建一个新的进程去负责应付 Http 请求,而将旧进程所占用的内存回收。 当我们有一台很大内存的服务器时, “memoryLimit” 这个值是需要进行适当的调整的。比如我们准备了一台 4G 内存的服务器,那么 4G ×60% = 2.4G 。但是,对于 Win32 操作系统,一个进程所能占用的所有内存空间只有 2G 。当 ASP.NET