尽管安装了 16GB,为什么我的 .NET 应用程序会遇到内存不足异常?
在本文中,我们解决了一个普遍问题尽管有足够的可用物理内存 (16GB),C# 应用程序仍会触发内存不足异常。从发生此类异常的 32 位计算机(3GB 内存)升级后,问题仍然存在,导致人们猜测潜在的 Windows 内存限制。
了解问题
当应用程序的内存使用量超过可用内存时,就会出现内存不足异常。在本例中,异常出现在 1.3GB 阈值处,该阈值小于典型的单对象内存限制 2GB。这表明问题出在其他地方。
目标架构的影响
解决这个问题的关键在于编译代码的目标架构。需要注意的是,32 位和 64 位架构在可寻址内存空间方面存在显着差异。
解决问题
从扩展内存中受益为了充分发挥 64 位系统的功能,编译针对 64 位架构的代码至关重要。通过这样做,应用程序可以分配超出 2GB 限制的内存,从而消除内存不足异常。
其他注意事项
重申内存不足异常非常重要如果 CLR 中的单个集合(例如 List
以上是尽管有 16GB RAM,为什么我的 64 位 .NET 应用程序仍然抛出 OutOfMemoryException?的详细内容。更多信息请关注PHP中文网其他相关文章!