學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦硬件知識 > 內(nèi)存知識 > xp系統(tǒng)能用4g內(nèi)存嗎?

xp系統(tǒng)能用4g內(nèi)存嗎?

時間: 本達(dá)868 分享

xp系統(tǒng)能用4g內(nèi)存嗎?

  xp系統(tǒng)能用4g內(nèi)存嗎?下面學(xué)習(xí)啦小編給大家分享一個xp使用4G內(nèi)存方法,希望對大家有幫助~!

  xp系統(tǒng)能用4g內(nèi)存嗎?

  1、由于32位系統(tǒng)內(nèi)存尋址只能到4G,所以在32位系統(tǒng)上使用超過4G的內(nèi)存,首先要使用支持大內(nèi)存的軟硬件,比如使用至強(qiáng)的CPU(雖然是32位CPU,但是上增加了擴(kuò)展尋址的能力),windows2003企業(yè)版或數(shù)據(jù)中心版。

  2、在操作系統(tǒng)中啟用PAE(Physical Address Extensions )功能,這樣oracle便可以通過windows的AWE(Address Windowing Extensions)API使用多余4G的內(nèi)存。

  方法:打開系統(tǒng)根目錄下的隱藏文件 Boot.ini ,添加 PAE 開關(guān):

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

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

  我們知道32位windows對于每個進(jìn)程都分配4GB內(nèi)存(虛擬內(nèi)存),其中起始的2GB歸windows核心使用,剩余的歸應(yīng)用程序本身使用。因此這兩種方法的區(qū)別就在于:

  方法一只使用了/PAE開關(guān)表示啟用/PAE功能但是系統(tǒng)對每個進(jìn)程仍然采用2G核心、2G應(yīng)用程序的內(nèi)存分配方式。

  方法二除了/PAE開關(guān)還使用了/3GB開關(guān)表示不僅啟用/PAE功能并且系統(tǒng)對每個進(jìn)程采用1G核心、3G應(yīng)用程序的內(nèi)存分配方式。不過這種方式不支持大于16GB的內(nèi)存,也就是說如果你的實(shí)際內(nèi)存超過16GB則只能使用方法一,這是因?yàn)榇笥?6GB后1G的核心內(nèi)存已經(jīng)不夠windows實(shí)現(xiàn)PAE功能。

  3、給運(yùn)行Oracle數(shù)據(jù)庫的操作系統(tǒng)帳戶,授予"Lock Pages in Memory"的系統(tǒng)權(quán)限。

  執(zhí)行 gpedit.msc打開“組策略”控制臺

  “計(jì)算機(jī)配置”->“Windows 設(shè)置”->“安全設(shè)置”->“本地策略”->“用戶權(quán)利指派”

  雙擊右邊“鎖定內(nèi)存中的頁”(或名為"內(nèi)存中鎖定頁"),在“本地安全策略設(shè)置”對話框中,單擊“添加”按鈕,在“選擇用戶或組”對話框中,添加有權(quán)運(yùn)行 oracle的帳戶。

  4、配置oracle數(shù)據(jù)庫的參數(shù)文件(init*.ora),添加USE_INDIRECT_DATA_BUFFERS=TRUE參數(shù),表示使用擴(kuò)展的內(nèi)存。

  5、修改注冊表中的AWE_WINDOW_MEMORY鍵值為合適值。該值表示在3GB內(nèi)存中(如果使用了/3GB開關(guān),如果沒有使用該開關(guān)則為2GB)有多少用于數(shù)據(jù)庫塊緩存。

  注意:

  (1)該值位置在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0為二進(jìn)制類型,單位為bytes。

  (2)如果不存在表示使用默認(rèn)值1GB。

  (3)該值太大或太小都有可能導(dǎo)致數(shù)據(jù)庫無法啟動。

  這里解釋一下:盡管我們現(xiàn)在擁有超過4GB的內(nèi)存,但是這些多余的內(nèi)存并不是oracle可以隨便使用的,這些內(nèi)存只能用于數(shù)據(jù)庫塊緩存(即db_buffer),而像share Pool,log buffer等只能保存在應(yīng)用程序可訪問的3GB內(nèi)存中(如果使用了/3GB開關(guān),如果沒有使用該開關(guān)則為2GB)。在這里我將4GB以外內(nèi)存中的數(shù)據(jù)庫塊緩存叫做AWE數(shù)據(jù)塊緩存(自己起的名字:-))。這里又有問題了,oracle緩沖的數(shù)據(jù)塊并不能全部保存到4GB以外的內(nèi)存中,還必須在應(yīng)用程序可直接訪問的3GB內(nèi)存(如果使用了/3GB開關(guān),如果沒有使用該開關(guān)則為2GB)中使用一部分空間來保存,這一部分內(nèi)存我稱為直接數(shù)據(jù)塊緩存(自己起的名字:-))。也就是說“數(shù)據(jù)塊緩存=AWE數(shù)據(jù)塊緩存+直接數(shù)據(jù)塊緩存”,為什么會這樣呢,因?yàn)閛racle緩沖到內(nèi)存中的每個數(shù)據(jù)塊的頭部必須保存到“直接數(shù)據(jù)塊緩存”中,是不能夠保存到“AWE數(shù)據(jù)塊緩存”中的,并且每個數(shù)據(jù)塊的大小(db_block_size)和數(shù)據(jù)塊的多少(db_block_buffers)都會影響到頭部占用空間的多少。并且訪問“直接數(shù)據(jù)塊緩存”要比“AWE數(shù)據(jù)塊緩存” 快,因此AWE_WINDOW_MEMORY一般來講需要設(shè)置的盡量大(但不能無限大,比如必須小于3GB),oracle建議以默認(rèn)值為基礎(chǔ),以20%遞增擴(kuò)大,進(jìn)行測試。比如先測試1GB大小,在測試1.2GB大小等等。

  一般來講AWE_WINDOW_MEMORY有一個最小公式

  min(AWE_WINDOW_MEMORY)=(4096 * db_block_size * db_block_lru_latches)/8

  其中:

  max buffer pools是一個常量=8

  sets_per_tool=2*cpu_count (use_indirect_data_buffers=true)

  sets_per_tool=cpu_count/2 (use_indirect_data_buffers<>true)

  很多朋友都裝了4G內(nèi)存甚至8G內(nèi)存,可惜32位系統(tǒng)中除了2003server支持顯示4G內(nèi)存以外,其它都最大利用到3.25G左右,余下0.75G都浪費(fèi)了,這主要是32位操作系統(tǒng)內(nèi)存地址映射限制的問題造成的,如何解決呢?電腦屬性里顯示3.25G的問題是無法真正解決的,即使32位vista旗艦版可以顯示4G內(nèi)存,但無法真正全部利用這4G內(nèi)存,這就需要一個重要軟件的登場了,RAMDISK,可能很多朋友聽說過,此軟件支持把內(nèi)存當(dāng)硬盤分區(qū)來用,也就是說通過RAMDisk可以把無法利用的那部分內(nèi)存當(dāng)硬盤分區(qū),除了可以把IE的臨時文件緩沖區(qū)放到這個分區(qū)以提高訪問網(wǎng)絡(luò)的速度外(具體設(shè)置很簡單這里就不多說了),還可以通過設(shè)置windows xp等32位的虛擬內(nèi)存來把這部分內(nèi)存真正利用起來,具體設(shè)置如下,以8G系統(tǒng)物理內(nèi)存為例,系統(tǒng)顯示3.25G,余下4.75無法利用,這時用RAMDISK把4.75G內(nèi)存全部設(shè)置為硬盤分區(qū),把IE緩沖設(shè)置100兆并放到此分區(qū)內(nèi),此時還余下4.65G,在“我的電腦”-“屬性”里把虛擬內(nèi)存設(shè)置為4.65G,然后將虛擬內(nèi)存頁面文件指向這個新設(shè)立的分區(qū),保存重啟后,你的新分區(qū)就會多了一個4.65G的Pagefile.sys的隱藏文件,這時你要把C盤(系統(tǒng)盤)下的Pagefile.sys文件刪除(WINDOWS 不會自動刪除這個文件),這樣你可以利用7.9G的內(nèi)存了(有100M是你的IE緩沖),4.65G的虛擬內(nèi)存因?yàn)橐彩怯成涞秸嬲膬?nèi)存上來用,所以不會影響速度(速度是原硬盤虛擬內(nèi)存的十幾到幾十倍,因物理內(nèi)存速度而異),但此分區(qū)內(nèi)不能存儲重要文件,因?yàn)槊看侮P(guān)機(jī)或重啟都會清空此分區(qū),因?yàn)榇朔謪^(qū)不是harddisk而是ram,每次啟動系統(tǒng)都會自動生成Pagefile.sys和IE緩沖的目錄,我已驗(yàn)證,對系統(tǒng)使用沒有任何副作用,至今沒有跳出過任何出錯的信息。雖然我的電腦屬性里依舊是3.25G,但用熱鍵調(diào)出的“任務(wù)管理器”下的“性能”頁面里內(nèi)存顯示的可是7.9G,是真正可以被利用的。

  xp系統(tǒng)用4g內(nèi)存另一種方法:

  1,首先檢查主板是否支持,下載everest檢測軟件,在主板-內(nèi)存一項(xiàng)中,

  Physical Address Extension(PAE)查看“操作系統(tǒng)支持”“處理器支持” 是否為“是”,如果是“否”的話代表主板不支持,不要玩了,如果是“是” 的話,“活動”一項(xiàng)是“否”也有可以修改的可能。

  2,我的電腦-屬性-高級-啟動和故障恢復(fù)-設(shè)置-編輯,這里編輯操作的是 c盤根目錄下隱藏的boot.ini文件,各位也可以通過在c盤顯示隱藏文件的方法 找到它,

  我的boot.ini里的內(nèi)容如下:

  [boot loader]

  timeout=5

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

  [operating systems]

  multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP

  Professional" /noexecute=optin /fastdetect "

  那么接下來在“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft

  Windows XP Professional" /noexecute=optin /fastdetect”的表明操作系

  統(tǒng)的“Microsoft Windows XP Professional ”加上“/PAE”

  即“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows

  XP Professional" /PAE /noexecute=optin /fastdetect”

  這樣保存關(guān)閉,系統(tǒng)就打開了PAE

  重新啟動后,電腦屬性的下方多了“物理地址擴(kuò)展”幾個字,雖然顯示 , 的還是3.25g內(nèi)存,但實(shí)際上4g內(nèi)存已經(jīng)完全啟用了,但怎么證明這一點(diǎn)呢?

  就用ramdisk虛擬硬盤軟件來測試

  ramdisk是一款將內(nèi)存轉(zhuǎn)換為虛擬硬盤的小軟件,內(nèi)存的速度是硬盤的幾十倍 ,所以在我處理ps等需要大量暫存盤的軟件時,通常都會用它來充當(dāng)軟件的暫 存盤,這樣軟件的速度會倍增,在系統(tǒng)沒有開啟PAE只能識別3.25g內(nèi)存的情況下,使用ramdisk會直接占用這3.25g的內(nèi)存,而開啟PAE后,用ramdisk設(shè)置768mb的內(nèi)存作為虛擬硬盤,再調(diào)出任務(wù)管理器,會發(fā)現(xiàn)內(nèi)存使用絲毫沒有減少,也就是說,ramdisk調(diào)用的768mb內(nèi)存是系統(tǒng)沒有顯示出來的768mb,還而言之,系統(tǒng)已經(jīng)找到了4g內(nèi)存啦。

1337963