Win7等32位系统无法使用4G内存的原因及解决方法-理论篇
前几天给笔记本加到了4G内存,虽然自带的WIN7 32位系统能认出4G,但实际只能用到2.99G,如下图:
这不是浪费了足足1G内存?用GOOGLE搜了下,很多人说ReadyFor4GB这个软件可以破解Win7/Vista 无法支持4G内存的限制,但也有很多人持怀疑态度,粗略想下,同样的32位系统Win2008、Win2003 等系统不是能支持4G/4G以上的内存吗?Win7、Vista、XP又凭什么不明不白的吃掉了我们差不多1G的内存呢?现在让我们一起来讨论这个问题,解开32位系统无法支持4G之迷,测试ReadyFor4GB这个软件是否有效?以及其它的解决方法。
下面我们先看看微软对于这个问题的说法:
http://support.microsoft.com/kb/929605/zh-tw
------------------------------------
发生原因:
這種行為是某些硬體和軟體因素的預期結果。
一般電腦中的多種裝置都需要進行記憶體對應存取。這就稱為記憶體對應 I/O (MMIO)。為了使 MMIO 空間可供 32 位元作業系統使用,MMIO 空間必須位於位址空間的最前面 4 GB 之內。
例如,如果您擁有具 256 MB 內建記憶體的視訊卡,該記憶體就必須對應至位址空間的最前面 4 GB 之內。如果已經安裝了 4 GB 的系統記憶體,該位址空間的一部分就必須保留給圖形記憶體對應。圖形記憶體對應會覆寫系統記憶體的一部分。這些情況會減少可供作業系統使用之系統記憶體的總量。
可用系統記憶體所減少的數量,會取決於電腦中所安裝的裝置。然而,為了避免發生驅動程式相容性的潛在問題,32 位元版本 Windows Vista 將可用的記憶體總量限制到 3.12 GB。如需有關驅動程式相容性潛在問題的資訊,請參閱<其他相關資訊>一節。
如果電腦具有許多已安裝的裝置,可用的記憶體數量就可能減少到 3 GB 或者更少。然而,32 位元版本 Windows Vista 的可用記憶體上限一般是 3.12 GB。
其它可能方案:
在安裝了 4 GB 記憶體的電腦上,若要讓 Windows Vista 使用所有 4 GB 的記憶體,該電腦就必須滿足下列需求:
晶片組必須能支援至少 8 GB 的位址空間。具有這項功能的晶片組包括下列:
Intel 975X
Intel P965
採用 Socket 775 插槽的 Intel 955X
支援採用 socket F、socket 940、socket 939 或 socket AM2 插槽之 AMD 處理器的晶片組。這些晶片組包括 AMD 插槽和 CPU 的任意組合,只要記憶體控制器位於 CPU 中。
CPU 必須支援 x64 指令集。AMD64 CPU 和 Intel EM64T CPU 都支援這個指令集。
BIOS 必須能支援記憶體重新對應的功能。記憶體重新對應功能,可讓先前由週邊元件連接 (Peripheral Component Interconnect,PCI) 設定空間覆寫的系統記憶體片段,重新對應到 4 GB 位址之上。這項功能必須在電腦上的 BIOS 設定公用程式中啟用。請參考您的電腦產品文件,以取得如何啟用這項功能的指示。許多消費者導向的電腦系統,可能不支援記憶體重新對應的功能。對於這項功能,在文件中或在 BIOS 設定公用程式中皆未使用標準術語。因此,您可能要閱讀各項可用 BIOS 設定的說明,來判斷該設定是否可啟用記憶體重新對應的功能。
必須使用 x64 (64 位元) 版本的 Windows Vista。
請連絡電腦廠商,來判斷您的電腦是否可滿足這些需要。
注意 如果安裝在電腦上的實體 RAM 等於晶片組所能支援的位址空間,可供作業系統使用的總系統記憶體,永遠會少於已安裝的實體 RAM。例如,以支援 8 GB 位址空間之 Intel 975X 晶片組的電腦為例。如果您安裝了 8 GB 的 RAM,可供作業系統使用的系統記憶體就會因 PCI 設定的需求而減少。在此案例中,PCI 設定的需求將會減少作業系統可用的記憶體大約 200 MB 至 1 GB 之間。減少的數量將取決於設定。
-----------------------------------
从微软的解释我们得知要32位系统支持4G、4G以上的内存首先要达到以下几点要求:
1.芯片组必须能支援至少 8 GB 的位址空间。
2.CPU 必须支持 x64 指令集。AMD64 CPU 和 Intel EM64T CPU 都支持这个指令集。
3.BIOS 必须能支持打开内存重映射的功能(Memory Remapping)。
这不是浪费了足足1G内存?用GOOGLE搜了下,很多人说ReadyFor4GB这个软件可以破解Win7/Vista 无法支持4G内存的限制,但也有很多人持怀疑态度,粗略想下,同样的32位系统Win2008、Win2003 等系统不是能支持4G/4G以上的内存吗?Win7、Vista、XP又凭什么不明不白的吃掉了我们差不多1G的内存呢?现在让我们一起来讨论这个问题,解开32位系统无法支持4G之迷,测试ReadyFor4GB这个软件是否有效?以及其它的解决方法。
下面我们先看看微软对于这个问题的说法:
http://support.microsoft.com/kb/929605/zh-tw
------------------------------------
发生原因:
這種行為是某些硬體和軟體因素的預期結果。
一般電腦中的多種裝置都需要進行記憶體對應存取。這就稱為記憶體對應 I/O (MMIO)。為了使 MMIO 空間可供 32 位元作業系統使用,MMIO 空間必須位於位址空間的最前面 4 GB 之內。
例如,如果您擁有具 256 MB 內建記憶體的視訊卡,該記憶體就必須對應至位址空間的最前面 4 GB 之內。如果已經安裝了 4 GB 的系統記憶體,該位址空間的一部分就必須保留給圖形記憶體對應。圖形記憶體對應會覆寫系統記憶體的一部分。這些情況會減少可供作業系統使用之系統記憶體的總量。
可用系統記憶體所減少的數量,會取決於電腦中所安裝的裝置。然而,為了避免發生驅動程式相容性的潛在問題,32 位元版本 Windows Vista 將可用的記憶體總量限制到 3.12 GB。如需有關驅動程式相容性潛在問題的資訊,請參閱<其他相關資訊>一節。
如果電腦具有許多已安裝的裝置,可用的記憶體數量就可能減少到 3 GB 或者更少。然而,32 位元版本 Windows Vista 的可用記憶體上限一般是 3.12 GB。
其它可能方案:
在安裝了 4 GB 記憶體的電腦上,若要讓 Windows Vista 使用所有 4 GB 的記憶體,該電腦就必須滿足下列需求:
晶片組必須能支援至少 8 GB 的位址空間。具有這項功能的晶片組包括下列:
Intel 975X
Intel P965
採用 Socket 775 插槽的 Intel 955X
支援採用 socket F、socket 940、socket 939 或 socket AM2 插槽之 AMD 處理器的晶片組。這些晶片組包括 AMD 插槽和 CPU 的任意組合,只要記憶體控制器位於 CPU 中。
CPU 必須支援 x64 指令集。AMD64 CPU 和 Intel EM64T CPU 都支援這個指令集。
BIOS 必須能支援記憶體重新對應的功能。記憶體重新對應功能,可讓先前由週邊元件連接 (Peripheral Component Interconnect,PCI) 設定空間覆寫的系統記憶體片段,重新對應到 4 GB 位址之上。這項功能必須在電腦上的 BIOS 設定公用程式中啟用。請參考您的電腦產品文件,以取得如何啟用這項功能的指示。許多消費者導向的電腦系統,可能不支援記憶體重新對應的功能。對於這項功能,在文件中或在 BIOS 設定公用程式中皆未使用標準術語。因此,您可能要閱讀各項可用 BIOS 設定的說明,來判斷該設定是否可啟用記憶體重新對應的功能。
必須使用 x64 (64 位元) 版本的 Windows Vista。
請連絡電腦廠商,來判斷您的電腦是否可滿足這些需要。
注意 如果安裝在電腦上的實體 RAM 等於晶片組所能支援的位址空間,可供作業系統使用的總系統記憶體,永遠會少於已安裝的實體 RAM。例如,以支援 8 GB 位址空間之 Intel 975X 晶片組的電腦為例。如果您安裝了 8 GB 的 RAM,可供作業系統使用的系統記憶體就會因 PCI 設定的需求而減少。在此案例中,PCI 設定的需求將會減少作業系統可用的記憶體大約 200 MB 至 1 GB 之間。減少的數量將取決於設定。
-----------------------------------
从微软的解释我们得知要32位系统支持4G、4G以上的内存首先要达到以下几点要求:
1.芯片组必须能支援至少 8 GB 的位址空间。
2.CPU 必须支持 x64 指令集。AMD64 CPU 和 Intel EM64T CPU 都支持这个指令集。
3.BIOS 必须能支持打开内存重映射的功能(Memory Remapping)。