.NET 中的OutOfMemoryException:64 位元電腦上的記憶體使用量超過1.3GB
儘管在64 位元電腦上安裝了16GB RAM ,應用程式在消耗大約1.3GB 的記憶體後遇到OutOfMemory異常 記憶。儘管沒有任何大小超過 2GB 的單一對象,此問題仍然存在。
原因在於編譯目標架構。預設情況下,.NET 應用程式是針對 32 位元體系結構進行編譯的,這對每個物件的記憶體使用施加 2GB 的限制。即使在 64 位元機器上,編譯 32 位元也會在相同程度上限制記憶體使用。
解決方案:
要解決此問題,請重新編譯應用程式目標64 位元架構。這將允許應用程式充分利用系統上可用的 16GB RAM。重新編譯後,二進位檔案將專門在 64 位元機器上執行。
此外,需要注意的是,如果 CLR 中的單一集合(例如 List
以上是儘管有 16GB RAM,為什麼我的 64 位元 .NET 應用程式仍會拋出 OutOfMemoryException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!