在博客园看到了一位园友写的文章《如何处理OutOfMemoryException异常?》,于是想和大家交流一下ASP.NET中出现OutOfMemoryException的问题。
实际上,在ASP.NET Web服务器上,ASP.NET所能够用到的内存,通常不会等同于所有的内存数量。在machine.config配置文件中,
当我们有一台很大内存的服务器时,“memoryLimit”这个值是需要进行适当的调整的。比如我们准备了一台
微软推荐的ASP.NET进程占用内存是不超过60%,并最好使计算出的实际值不超过
在IIS6中,ASP.NET进程的回收阈值不再由
但是,即使正确设置了这些配置,也不能保证完全避免OutOfMemoryException的发生,原因可能是多样而复杂的,比如内存回收操作可能耗时太多等等。开发人员要注意的,就是在代码中时刻牢记不要无谓的使用和浪费内存。:)
如果你有一台大内存的服务器,同时对Win32操作系统中对于进程最高使用
1、使用/3GB模式启动计算机,方法参加文后的链接
2、使用Windows Server 2003 64bits Edition
资源链接:
Microsoft IIS 5.0 Process Recycling Tool,使IIS5具有类似IIS6的进程监视回收功能
Microsoft KB: Information on Application Use of 4GT RAM Tuning
Microsoft KB: 4 GB RAM 调试功能和物理地址扩展开关介绍