阅读了几篇关于.NET技术中内存的启发性文章之后,我认为内存不足并非指物理内存597499。我以为我明白了为什么C#应用程序会抛出内存不足异常——直到我开始在两个服务器上进行实验——两者都有2.5GB的内存,运行Windows Server 2003和相同的程序。两者之间唯一显著的区别是一个硬盘存储空间只剩下7%,而另一个超过50%。存储空间只剩下7%的服务器持续抛出内存不足异常,而另一个则一直表现良好。我的应用程序是一个C# Web应用程序,处理数百MB的字符串对象。既然内存不足的最可能原因是连续虚拟地址空间不足,那么为什么会出现这种差异呢?