小编典典

.NET内存不足异常-已使用1.3GB,但已安装16GB

c#

当应用程序的内存使用量超过1.3GB时,我的c#应用程序中出现了内存不足异常。

我在具有3gb内存的32位计算机上遇到了同样的问题,那时还可以,但是现在我将硬件升级到了具有16GB内存,高端主板和RAM但内存不足的64位计算机1.3GB之后仍会发生异常!

我知道没有单个对象超过2GB,无论如何,1.3小于2GB,因此单个对象的内置MS 2GB限制不太可能成为问题…

似乎当应用程序达到一定的内存使用量阈值时,会有某种Windows停止开关……那么也许应该有一种方法可以在注册表中进行配置?

任何帮助将不胜感激!


阅读 486

收藏
2020-05-19

共1个答案

小编典典

除非您 编译 为相同的目标体系结构,否则没有任何区别。我 32在两种情况下都针对位架构进行编译。

值得一提的是,OutOfMemoryException如果您2GBCLR(例如List<T>)上在体系结构3264位上都获得了单个集合分配的内存,那么也会引起这种情况。

为了能够从64位架构的内存优势中受益,您必须 编译 针对64位架构的代码 。之后,自然地,您的二进制文件将
64在位上运行,但将受益于RAM中有更多可用空间的可能性。

2020-05-19