32位cpu如何訪問8G內存

ADVERTISEMENT

  你還在為不知道32位cpu如何訪問8G內存而煩惱麼?接下來是小編為大家收集的32位cpu如何訪問8G內存教程,希望能幫到大家。

ADVERTISEMENT

  32位cpu如何訪問8G內存:

  PAE物理地址擴展可以讓系統最大能支持64G內存,具體實現方法如:

  windows系統的配置

  右擊桌面“我的電腦”屬性,選擇“高級”,再點擊“啟動與恢複”下面的“設置”,再點擊框中的“編輯”

  鍵,此時會打開BOOT.INI文件,修改此文件,在後面添加空格/PAE,如下所示

  multi(0)disk(0)rdisk(0)partition(2)\%systemroot%="Windows Server 2003, Datacenter Edition" /PAE

  在“文件”菜單上,單擊“保存”。 為使更改生效,請重新啟動計算機。

  linux系統的配置

  安裝 kernel-PAE.i686 內核,讓系統內核支持PAE物理地址擴展

  yum install kernel-PAE.i686

  設置linux系統啟動,讓系統啟用PAE的內核系統

  # vi /boot/grub/grub.conf

  # grub.conf generated by anaconda

  #

  # Note that you do not have to rerun grub after making changes to this file

  # NOTICE: You do not have a /boot partition. This means that

  # all kernel and initrd paths are relative to /, eg.

  # root (hd0,0)

  # kernel /boot/vmlinuz-version ro root=/dev/sda1

  # initrd /boot/initrd-version.img

ADVERTISEMENT

  #boot=/dev/sda

  default=0 (將default=1修改為default=0就可以了)

  timeout=5

  splashimage=(hd0,0)/boot/grub/splash.xpm.gz

  hiddenmenu

  title CentOS (2.6.18-92.1.6.el5PAE) 升級後的系統引導

  root (hd0,0)

  kernel /boot/vmlinuz-2.6.18-92.1.6.el5PAE ro root=LABEL=/ rhgb quiet

  initrd /boot/initrd-2.6.18-92.1.6.el5PAE.img

  title CentOS (2.6.18-8.el5) 升級前的系統引導

  root (hd0,0)

  kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet

  initrd /boot/initrd-2.6.18-8.el5.img

  保存後重啟linux,系統內核就能最大支持64G內存了。

  通過查,cat /boot/config-*|grep PAE可以查看當前的支持情況。

  眾所周知,所有的32位應用程序都有4GB的進程地址空間,因為32位地址最多可以映射4GB的內存(對於虛擬地址空間概念不太熟悉的朋友建議去看一下《Windows核心編程》這本書)。對於Microsoft Windows操作系統,應用程序可以訪問2GB的進程地址空間(32位Linux可以訪問3GB地址空間),這就是稱為用戶模式的虛擬地址空間。這 2GB的用戶模式虛擬地址空間位於4GB地址空間的低一半,而與之相對應的高一半2GB地址空間由操作系統內核使用,因此被成為內核模式的虛擬地址空間。在一個進程中,所有的線程讀共享相同的2GB用戶模式虛擬地址空間。

  對於一般的應用程序來說,2GB的地址空間是足夠使用的了,但是對於一些特殊的需要使用海量內存的應用程序(典型的例子是數據庫系統)來說,2GB的地址空間就遠遠不夠了。為了緩解地址空間的不足,微軟提供了一個權宜的解決方案,所有從Windows 2000 Server開始的操作系統版本都提供了一個boot.ini啟動開關(/3GB),可以為應用程序提供訪問3GB的進程地址空間的能力,從而將內核模式的地址空間限定為1GB。以下就是一個開啟了3GB選項的boot.ini文件示例:

  [boot loader]

  timeout=30

ADVERTISEMENT

  default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS

  [operating systems]

  multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB

  雖然使用/3GB選項能夠將用戶模式的地址空間擴大50%(從2GB增加到3GB),但是對於數據庫系統這樣的應用程序來說,這1GB的地址空間的增加只能是杯水車薪,並不能解決多少問題,而且由於操作系統內核只能使用1GB地址空間,這樣可能會給操作系統的運行帶來一定的負面影響,因此除非沒有更好的解決方案,是不建議使用/3GB方式的。

  鑒於像數據庫系統這樣的應用程序對海量內存的需求,Intel公司也覺得4GB的內存不夠用,因此就將CPU芯片中內存地址線由32根擴展到了36根(即最多64GB),這就是所謂的物理地址擴展(PAE:Physical Address Extension)。PAE使得操作系統或應用程序能夠最多使用64GB的物理內存,對於Windows系統(2000以上)來說,隻需在 boot.ini文件中使用/PAE選項即可(類似於上面的/3GB選項)。需要提醒大家的是,如果沒有在boot.ini文件中使用/PAE選項,那麼即使計算機已經配置了超過4GB的物理內存,在Windows操作系統中也不能使用超過4GB的那些內存(事實上,根據我的經驗,如果沒有使用/PAE選項,Windows系統最多只能識別3.25GB的物理內存,我也不清楚為什麼不是4GB?如果有知道的,請告訴我一聲)。

  雖然PAE使得在應用程序中使用超過4GB的物理內存成為可能,但是由於32位應用程序的虛擬地址空間並不隨著物理內存的增大而有任何變化,這意味著你不可能使用類似VirtualAlloc( GetCurrentProcess,2GB,...,...)這樣的函數=調直接分配接近用戶模式地址空間大小的內存區域。為了突破32位地址空間的限制,需要使用一種被成為地址窗口擴展(AWE:Address Windowing Extensions)的機製(參見上圖)。

  AWE是Windows的內存管理功能的一組擴展,它使應用程序能夠使用的內存量超過通過標準32位尋址可使用的2~3GB內存。AWE允許應用程序獲取物理內存,然後將非分頁內存的視圖動態映射到32位地址空間。雖然32位地址空間限制為4GB,但是非分頁內存卻可以遠遠大於4GB。這使需要大量內存的應用程序(如大型數據庫系統)能使用的內存量遠遠大於32位地址空間所支持的內存量。

  在使用AWE機製時,需要注意以下幾點:

  (1)AWE允許在32位體系結構上分配超過4GB的物理內存,只有當系統可用物理內存大於用戶模式的虛擬地址空間時,才應該使用AWE。

  (2)若要使32位操作系統支持4GB以上的物理內存,必須在Boot.ini文件啟用/PAE選項。

  (3)若在Boot.ini文件中啟用了/3GB選項,則操作系統最多能夠使用16GB的物理內存,因此如果實際的物理內存超過16GB,必須確保不使用/3GB選項。

  (4)使用AWE分配的內存是非分頁的物理內存,這意味著這部分內存只能由分配的應用程序獨占使用,不能由操作系統或其他程序使用,直到這些內存被釋放為止,這與通常的VirtualAlloc函數分配的虛擬內存存在顯著的不同,它不會參與分頁替換。

看了“32位cpu如何訪問8G內存”還想看:

1.cpu如何管理訪問內存

2.怎麼查看win系統cpu核數和內存型號

3.32位系統最大只能支持4GB內存的原因

4.資源監視器如何查看電腦CPU、內存、磁盤、網絡

5.cpu與gpu怎麼實現內存共享

6.cpu如何查看內存

7.Windows7 如何監控查看CPU,內存,磁盤使用情況

    ADVERTISEMENT