.NET内存故障排除

bus*_*man 4 .net c# memory-management out-of-memory

在阅读了一些有关.NET技术内存的启发性文章后,Out of Memory并未引用物理内存,597499.

我以为我理解为什么C#应用程序会抛出一个内存不足的异常 - 直到我开始尝试使用两台服务器 - 两者都有2.5 GB的ram,windows server 2003和相同的程序运行.

两者之间唯一显着的区别是剩下7%的硬盘存储空间而另一个存在超过50%.

剩下7%存储空间的服务器一直在内存不足,而另一个服务器一直表现良好.

我的应用程序是一个C#Web应用程序,它处理'数百MB的String对象.

为什么这种差异会发生,因为内存不足问题的最可能原因是连续的虚拟地址空间.

chr*_*ris 8

我能想到的只是你正在耗尽虚拟内存.听起来你需要在应用程序上运行内存分析器.

我过去在类似的情况下使用过Red Gate Profiler.你可能会对你的字符串实际使用的内存感到惊讶.