krp*_*sad 5 memory asp.net out-of-memory
这是Windows Server 2008 R2、64位,32GB RAM,我认为它运行的是IIS 7.5。我们将应用程序池设置为使用4个工作进程。
这是一个ASP.NET 4应用程序,但以32位兼容模式运行。
当内存使用量超过650-700MB /工作进程时,我们将收到oSystem.OutOfMemoryException。
我认为它应该能够处理2GB或至少1.5GB的数据而没有问题?
另一件事,当出现System.OutOfMemoryException时为什么不回收工作进程?
更新:此应用程序在带有IIS6.0的64位Windows Server 2003上可以正常运行。我已经看到它的最大内存使用量约为700mb / worker进程。
更新:占用大量内存的原因是使用DOM进行XML处理。我们将着手解决这个问题,但这是一项长期计划。我只是觉得奇怪,它不能超过650 mb。
更常见的原因是由于内存碎片——内存中System.OutOfMemoryException没有足够大的连续空间。您应该安装一个内存分析器来验证这一点 - 然后您还可以尝试找出哪些对象占用了内存。
如果可能,您可能想要测试 .NET 4.5 - Microsoft 已对垃圾收集器进行了更改,以便为服务器应用程序(例如 IIS)自动对 LOH 进行碎片整理: http: //blogs.msdn.com/b/dotnet/archive /2011/10/04/large-object-heap-improvements-in-net-4-5.aspx
| 归档时间: |
|
| 查看次数: |
14188 次 |
| 最近记录: |