2008-06-16

"PAE" VS "3GB" 的問題釋疑

PAE VS 3GB問題:

因為機器上裝了8Gb的ram,但是在os中只能看到4Gb,(機器 32bits CPU,32bits Windows 2000 Advance Server)
後來查了一下網路上的資料,可以在boot.ini中加上 /PAE ,便可以顯示 8Gb的Ram 。 後來又在上面加上了 /3GB 的參數,要將記憶體分配給AP / OS 從 2G / 2G 調整成 3G / 1G , 可是問題來了...

Q1. 32bits 的OS不是只能使用到4GB的記憶體嗎? 那Advance Server支援到8GB有用處嗎?

32bit OS 的只能定址到 4GB 的實體記憶體,這也是為什麼當你實體記憶體超過 4GB 時預設是無法使用 4GB 以上的實體記憶體(因為定址不到)。Intel 在 Pentium Pro 後加上了 PAE(Physical Address Extension) 增加 4bit 來讓定址能到 32GB。所以以你的例子來說要在 boot.ini 中加上 /PAE 參處才能定址到所有的記憶體。

Windows 所有作業系統開啟 PAE 後支援的最大實際記憶體容量如下表所示:

    作業系統            支援 PAE 後的最大記憶體容量
Windows 2000 Advanced Server            8 GB 的實體 RAM
Windows 2000 Datacenter Server            32 GB 的實體 RAM
Windows XP (所有版本)                4 GB 的實體 RAM*
Windows Server 2003 (and SP1) Standard Edition     4 GB 的實體 RAM*
Windows Server 2003 Enterprise Edition        32 GB 的實體 RAM
Windows Server 2003 Datacenter Edition         64 GB 的實體 RAM
Windows Server 2003 SP1 Enterprise Edition      64 GB 的實體 RAM
Windows Server 2003 SP1 Datacenter Edition      128 GB 的實體 RAM


Q2. boot.ini 中的 /3GB是分配記憶體為 3G/1G , 應該是以總數4GB來分配,那現在機器中有8GB,分配狀況會是如何? (3G/5G ? 6G/2G ? or ? )

/3GB 參數與實體記憶體無關,就算你實體記憶體只有 2G 或更少也可以開啟 3GB 參數。這個參數影響的是每個應用程式能定址到的記憶體容量。32Bit 應用程式啟動的時候都是直接給他 4GB 的空間。預設值是 App 2GB/ System 2GB,透過 /3GB 參數可以把分配改成 App 3GB/System 1GB。當然分配歸分配,你的應用程式使用到的記憶體才會被分配,這時候可以分配到實體的記憶體位置,也可以分配到虛擬記憶體上(Pagefile)。所以如果你沒有開啟 3GB 參數,當你的應用程式要使用超過 2GB 的記憶體時,系統會告訴他 Out of Memory,即使你實體記憶體有 8GB 也沒用。


Q3. 加上這個參數 /3GB , 要如何驗證?如何知道OS現在真的是這樣分配?

當您的應用程式會使用超過 2GB 的話還能夠繼續抓到記憶體就表示你的 3GB 設定生效了。當然如果您的應用程式需要的記憶體不只 3GB,您就必須要使用 AWE 方式來使用超過 3GB 的記憶體。

簡單來說是
/PAE 是給作業系統用的,目的是要存取超過 4GB 的實體記憶體
/3GB 是給應用程式用的,目的是要讓應用程式可以使用超過 2GB 的記憶體(最大 3GB)。例如 Exchange Server
如果您的應用程式需要超過 3GB 的記憶體,您要使用 AWE(Address Windows Extension)才能使用超過 3GB 的記憶體。例如 SQL Server


簡單說明如上,詳細資料您可以參考 Microsoft 網站上的資料
/3GB, /PAE: Windows Server 2003 和 Windows 2000 提供大型記憶體支援
AWE: Platform SDK: Address Windowing Extensions

沒有留言:

張貼留言

Windows Server,防毒軟體應該設定的例外清單

 Microsoft Windows Server 上的 Defender 防病毒軟體排除專案: https://learn.microsoft.com/zh-tw/defender-endpoint/configure-server-exclusions-microsoft-d...