裝了 4GB RAM 的電腦為什麼 OS 只看的到 3GB 或更少?為什麼會這樣?

這是因為 PCI-e 要求系統在記憶體定址中保留一段區塊作為己用,
一般來說這個位址是在 3GB~4GB 中間的一塊區域,
所以對一個裝有 4GB 記憶體的機器來說, 3GB~4GB 這一塊會因為位址保留的關係,
所以無法被 OS 取用。
解決的辦法是使用 memory controller
將實際在這一塊區域的 RAM 重新定址到 4GB+ 的位址去,
讓 OS 對更高位址的記憶體進行存取,
而實際上是存取原先在 3GB~4GB 位址的記憶體。

另外還有一點要注意的是,
如果 OS 是使用 32bit 的 Windows ,由於 32bit 定址只能存取 4GB 以內位址的記憶體,
被 remapping 到 4GB+ 的記憶體 OS 是無法存取的,
所以這個時候需要開啟 PAE 的功能,
將定址系統的位元數增加,以存取更高位址的記憶體。
此時要注意 Windows 的版本:

Windows 2000 Professional, Server Edition
Windows XP
Windows Server 2003 Standard Edition

上述版本 Windows 是不支援 PAE 功能的,
就算在開機的時候加入這個選項,開機後系統也顯示 "PAE on" ,
一樣無法使用位址在 4GB+ 的記憶體,
因為那個 "PAE on" 是寫好玩的...
創作者介紹

囈語二三,,

origin2 發表在 痞客邦 PIXNET 留言(0) 人氣()