SandCastle无法处理我们的类库,因为它在XSL转换过程中因OutOfMemoryException异常而崩溃。
除了显而易见的购买更多内存之外,我们还能做些什么呢?问题是,这是我们的开发者机器,在32位操作系统上有3.3 of的内存,所以基本上我们要么升级到64位或更多的内存(这在一段时间内不会发生),要么设置一个具有大量内存的虚拟服务器(这将影响生产服务器)。
我非常怀疑我们是否拥有世界上最大的需要帮助文件的类库,那么我们还有什么选择呢?是否有一个神奇的“不崩溃与内存不足的错误”设置,但我们忘记关闭?
发布于 2009-07-20 08:52:13
如果你在32位Windows上,你的用户进程默认只能寻址2 GB内存(3 GB是作为大地址感知运行的)。这2 GB用于进程中的所有内容,因此.NET运行时、标准库、预订等都有自己的任务。根据我的经验,32位上的.NET应用程序只剩下1.5 GB。
你可以通过使用大地址感知开关来访问更多的内存,但如果你使用的是32位Windows,它就不是免费的。迁移到64位Windows将允许您的32位应用程序访问整个32位地址空间,从而为您提供4 GB的可寻址空间。
我最近写了一篇博客,详细介绍了.NET应用程序的内存使用情况,但由于我的博客是丹麦语,您可能无法阅读它。但是,如果您想看一下,链接是:http://kodehoved.dk/?p=156
你也可以找到这篇相关的MSDN博客文章:http://blogs.msdn.com/maoni/archive/2007/05/15/64-bit-vs-32-bit.aspx
https://stackoverflow.com/questions/1152227
复制相似问题