Dot-Net

.NET 可達到的最大記憶體?

  • May 28, 2021

在 .NET 託管程式碼中可以實現的最大記憶體量是多少?它是否取決於實際架構(32/64 位)?

.NET 程式碼沒有確切的數字。

如果您在 32 位 Windows 上執行;如果在 Windows Server 2003 上使用 /3GB 開關,您的程序最多可以定址 2 GB,3 GB。

如果您在 64 位機器上執行 64 位程序,則您的程序可以定址多達 8 TB 的地址空間(如果存在那麼多 RAM)。

然而,這並不是全部,因為 CLR 會為每個程序佔用一些成本。同時,.NET 會嘗試分塊分配新記憶體;如果地址空間是碎片化的,這可能意味著您無法分配更多記憶體,即使有些記憶體可用。

引用自:https://stackoverflow.com/questions/716798