.
.
.
關於4GB記憶體的討論
=======================
由於記憶體價格下降,最近許多人便將記憶體升級,
常見的問題便是,裝了4G卻看不到4G?
除了win2003之外,其他32位元的xp及vista都是只能抓到3G多而已。
要抓4G以上的就要使用64位元版的作業系統。
目前只有VISTA全系列 及 WINXP X64版本可支援4G記憶體,
VISTA 32位元版只要升級到SP1就可以支援到8G。
=======================
在微軟網站上有關於4GB記憶體限制問題的技術文章:
http://support.microsoft.com/kb/929605/en-us
大致有以下幾點:
1. 要在PC中使用超過4GB的記憶體,需要同時滿足以下若干條件
(1)主機板配置有支援至少8GB記憶體定址的晶片組(例如Intel P965/P975)
(2)CPU支援X64指令集(例如Intel Core2處理器)
(3)BIOS支持memory remapping
(4)使用64bit的作業系統(或支援實體記憶體擴展技術的32bit作業系統)
2. Intel 945晶片組或更早期的晶片組,受到32bit的限制,最大只能定址到4GB,也就是說只能訪問4GB以內的位址。
但是這4GB位址並不是完全留給記憶體使用的,與此同時,各種介面、IO設備都還需要分配大量的定址空間(例如:顯卡通常就要佔用數百MB),所以最後留給系統實體記憶體這一硬體的定址空間,就只剩下3GB多一些。
而作業系統也只能識別到這麼多的實體記憶體。
因此,如果PC系統的硬體達不到以上第一點中的(1)(2)(3)條時,即使在系統中安裝超過4GB的記憶體,能夠被識別的實體記憶體也只有4GB,而留給作業系統使用的只有3GB多一些。
3.作業系統對識別的記憶體數也有影響。
32bit的作業系統只具備4GB的定址能力,即使硬體滿足上述使用4GB記憶體的條件,限於作業系統的定址空間限制,必須要保留數百MB的定址空間給各種介面和IO設備,因此作業系統仍然最多只可以用到3GB多一些的實體記憶體。
而64bit的作業系統下,因為把各種介面和IO設備所佔用的位址空間移到更靠後的位址段,因此4GB實體記憶體可以完全定址,也就是完全識別使用。再延伸一下,同理可以推斷,假設某64bit作業系統的最大定址能力是8GB,而系統安裝了8GB的實體記憶體,那麼作業系統可以識別並使用的記憶體也就是7GB多一些。
4. 找了一台ThinkCentre M55(Intel 965晶片組)並安裝了4GB記憶體,然後分別安裝了Vista 32bit、Vista 64bit、Ubuntu Linux 32bit和Ubuntu Linux 64bit進行測試,從結果來看驗證了上述觀點。
備註:64bit作業系統顯示記憶體數量接近4GB而不是正好4GB,是因為顯卡使用了一部分實體記憶體充作顯卡記憶體)。
再補充兩點如下: 以下兩點均要求硬體滿足以上第一點中的(1)(2)(3)。
5. 部分支援PAE技術的32bit作業系統(主要是伺服器類系統),
例如:
• Microsoft Windows 2000 Advanced Server
• Microsoft Windows 2000 Datacenter Server
• Microsoft Windows Server 2003 Enterprise Edition
• Microsoft Windows Server 2003 Datacenter Edition 可以通過啟用PAE功能來支援4GB或者更多記憶體。
參見微軟知識庫:
http://support.microsoft.com/kb/283037/zh-cn
而32bit的Linux通過在核心中配置支援Large Memory Support,也可以支援4GB記憶體。
6. 至於32bit的Windows XP,在升級到SP2之前可以使用PAE技術使用到4GB記憶體,但是升級到SP2之後,由於微軟限制,即使開啟PAE,系統也只能顯示3GB左右的記憶體容量。
參見微軟知識庫:
http://support.microsoft.com/?scid=kb%3Ben-us%3B888137&x=15&y=12
另外在32bit的Vista上測試了強制啟用PAE的情況,結果和不啟用PAE沒有差別,與XP SP2的表現相同。
論壇原始問題文章及討論:
http://bonny.com.tw/bbs/viewthread.php?tid=16784&extra=page%3D1
.
.
沒有留言:
張貼留言