安裝大容量內(nèi)存后,系統(tǒng)、程序運(yùn)行效率沒有得到大幅度提高,這是因?yàn)橄到y(tǒng)本身運(yùn)行機(jī)制限制了其管理和運(yùn)用硬件資源的能力。所以縱然硬件資源非常豐厚,如果超出了Windows管理的范圍,那么性能也不會(huì)得到明顯提升。
一、Windows這樣使用內(nèi)存
想要知道為什么系統(tǒng)速度提升不再明顯,必須先理解Windows 怎樣使用內(nèi)存。這里要涉及一個(gè)概念——資源。
這不是平時(shí)所說的CPU資源,內(nèi)存資源或統(tǒng)一的"系統(tǒng)"資源。我們接下來要講到的"資源"就是程序可以操縱的Windows物件。舉例來說,屏幕上顯示的每個(gè)窗口都是一個(gè)資源,每幅圖片也都可以能是一個(gè)資源。如果一個(gè)應(yīng)用程序打開了磁盤上的一個(gè)文件,那么這個(gè)被打開的文件也是一個(gè)資源。以此類推,如果一個(gè)應(yīng)用程序需要使用一個(gè)資源,它就會(huì)向操作系統(tǒng)提出請(qǐng)求,要求新建一個(gè)或從存儲(chǔ)器里調(diào)用
1.情景再現(xiàn):程序與系統(tǒng)的對(duì)話
程序說:"嗨,Windows,我要新建一個(gè)300像素寬,200像素高的窗口,ok?"于是,Windows立即按要求創(chuàng)建或調(diào)用這個(gè)資源進(jìn)內(nèi)存,然后反饋給應(yīng)用程序一個(gè)代號(hào):"好,我已經(jīng)創(chuàng)建好你要的窗口,它的代號(hào)是#38710。"此后,需要用到新建的這個(gè)窗口時(shí),應(yīng)用程序都用 Windows反饋的代號(hào)代表這個(gè)資源。"Windows,麻煩你在顯示屏幕左上角顯示#38710。""好!"很后,當(dāng)應(yīng)用程序不需要用到該資源的時(shí)候,它會(huì)要求Windows去除這個(gè)資源。"OK,請(qǐng)你刪除#38710。""好!"。
2.指針——內(nèi)存中的郵政編碼
那么這個(gè)代號(hào)是依據(jù)什么標(biāo)準(zhǔn)生成的呢?在絕大多數(shù)操作系統(tǒng)中,它是靠一種叫做"指針"的東西來確定的。你可以把整個(gè)內(nèi)存想像成一個(gè)郵局,郵遞員把需要寄往各地的信件分類放到很多個(gè)不同的信箱里。信箱一個(gè)接一個(gè),足足占據(jù)了一堵墻。每個(gè)心細(xì)那個(gè)都裝了一些信件,包含要送往一個(gè)特定地區(qū)的信息。而且,就好像每個(gè)地區(qū)都有郵政編碼一樣,每一塊可以存儲(chǔ)數(shù)據(jù)的內(nèi)存空間也有一個(gè)地址——指針。代表這個(gè)存儲(chǔ)空間的一串?dāng)?shù)字。內(nèi)存中某部分?jǐn)?shù)據(jù)的"指針",也就是這些數(shù)據(jù)占據(jù)的處內(nèi)存空間的地址。所以,如果我是一個(gè)普通的操作系統(tǒng),有一個(gè)應(yīng)用程序要求我調(diào)用一個(gè)窗口,我就會(huì)按照它告訴我的要求調(diào)用這個(gè)窗口進(jìn)內(nèi)存,如果這個(gè)資源的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的地址開始于#1234567,那么我就會(huì)返回一條信息給應(yīng)用程序:"好了,我調(diào)出了這個(gè)窗口,它是 #1234567。"
3.解決指針帶來的問題
在PC中,這種指針有4個(gè)字節(jié)Zhang。所以如果一個(gè)應(yīng)用程序需要給內(nèi)存里的某個(gè)數(shù)據(jù)配一個(gè)指針,那就需要4字節(jié)的內(nèi)存空間。這樣的工作方式給早期的Windows設(shè)計(jì)者帶來了不小的麻煩,因?yàn)槟菚r(shí)制作工藝尚不發(fā)達(dá),內(nèi)存非常昂貴,一臺(tái)電腦上有8MB的內(nèi)存就足以讓用戶無數(shù)次從夢里笑醒了,大多數(shù)電腦只能配制4MB內(nèi)存。在內(nèi)存如此緊張的情況下,一個(gè)應(yīng)用程序卻經(jīng)常需要用到幾百萬個(gè)資源。要用這些資源,就要個(gè)每個(gè)資源配發(fā)一個(gè)指針。每個(gè)指針占據(jù)4個(gè)字節(jié),幾百萬個(gè)指針,就會(huì)消耗掉數(shù)量客觀的一塊內(nèi)存空間。這就好比一份錢很少,但如果要發(fā)給全國人民每人一份錢,那就是至少一千三百萬元的巨款了。
所以,Windows設(shè)計(jì)者采用了另外一種替代方案。他們創(chuàng)建了資源表。就是把當(dāng)前調(diào)入內(nèi)存的所有資源的信息登記到一個(gè)清單。這樣一來,當(dāng)應(yīng)用程序要求系統(tǒng)調(diào)用一個(gè)資源時(shí),系統(tǒng)調(diào)用后就不給它配發(fā)指針了,而是直接告訴應(yīng)用程序該資源在資源表中的序號(hào)。"好了,我已經(jīng)調(diào)用了你需要的資源,它在資源表里面的序號(hào)是#383"因?yàn)樾枰皇莾?nèi)存地址,所以就可以用一個(gè)只需占用2字節(jié)的數(shù)字表示。這只是兩個(gè)字節(jié)的差距。但當(dāng)你只有幾MB內(nèi)存,而你運(yùn)行的程序動(dòng)咎調(diào)用大量資源時(shí),這兩字節(jié)的差距就會(huì)帶來很大的優(yōu)勢。
你知道嗎?
微軟64位操作系統(tǒng)沒1GB內(nèi)存就別玩
在32位Windows 2000/XP中,很大支持4GB的內(nèi)存,每個(gè)應(yīng)用程序很多只能使用2GB內(nèi)存,因?yàn)榱硪话氲膬?nèi)存也留給系統(tǒng)使用了。而在64位WindowsXP中,這個(gè)限制沒有了,每個(gè)程序能完全使用4GB內(nèi)存,除Windows,微軟還在開發(fā)64位版本的 SQL Server 2000和Windows Server2003,不過要運(yùn)行這些應(yīng)用程序,需要你的電腦至少得有1GB內(nèi)存
4.時(shí)過境遷,妙計(jì)成缺陷
但這種方法也有它的弊端——兩個(gè)字節(jié)能夠表現(xiàn)的不同數(shù)字非常有限
我們可以做個(gè)實(shí)驗(yàn):請(qǐng)你寫不同的數(shù)字。如果只準(zhǔn)你寫一位數(shù),那就只能寫出十個(gè)不同數(shù)字。如果限制寫兩位數(shù),雖然能寫出更多,但總數(shù)仍然有限。以此類推,允許位數(shù)越多,能寫出的不同數(shù)字就越多。但只要位數(shù)有限制,寫出的不同數(shù)字的總數(shù)就始終有限。同理,如果允許系統(tǒng)使用4字節(jié)的序號(hào),那么在這個(gè) "位數(shù)限制"下,可以有幾十億個(gè)不同的序號(hào)可供使用。但如果只準(zhǔn)系統(tǒng)使用2字節(jié)序號(hào),能用的序號(hào)就會(huì)銳減到65536個(gè)。于是,前面我們講的資源表就不能無限的拉Zhang。其中的序號(hào)很多只有65536個(gè)
于是問題來了。當(dāng)調(diào)用了65536個(gè)資源后,再想調(diào)用更多的資源,縱然內(nèi)存空間還有1GB,足以存儲(chǔ)數(shù)百億個(gè)資源,但只有2字節(jié)的資源表卻無法生成更多的序號(hào)!沒有序號(hào),就意味著無法將各資源區(qū)分開來,應(yīng)用程序自然無法使用這些沒有"戶口"的資源!事實(shí)上,因?yàn)闆]有序號(hào)可用,系統(tǒng)根本無法同時(shí)調(diào)用65536個(gè)以上的資源。
但在10MB內(nèi)存都是奢望的年代,要同時(shí)調(diào)用數(shù)十萬個(gè)資源根本就是"無稽之談"。所以當(dāng)時(shí)的Windows設(shè)計(jì)者們沒有把這個(gè)問題放在心上,果斷地選用了資源表,選用了2字節(jié)序號(hào)。
今天,操作系統(tǒng)算是得到報(bào)應(yīng)了。內(nèi)存便宜了,資源表和2字節(jié)序號(hào)仍然給我們節(jié)省了內(nèi)存空間,但它帶來的壞處卻遠(yuǎn)遠(yuǎn)超過了它帶來的好處。我們有足夠的內(nèi)存空間,可以調(diào)用數(shù)百萬個(gè)資源,但資源表里面只有65536個(gè)序號(hào)!所以同一時(shí)間內(nèi),內(nèi)存中只能有65536個(gè)資源!還有1GB內(nèi)存空間可用?等著吧!
5.真正"耗資源"的是誰?
明白了上面的道理,就不難分辨除了大個(gè)文件,大個(gè)程序外,真正消耗系統(tǒng)資源的是哪些程序了:
★ 調(diào)用大量細(xì)小資源,把桌面裝飾的花里胡哨的軟件
★ 各種多媒體播放軟件
★ 監(jiān)視系統(tǒng)的工具軟件
★ 能在字體菜單里面預(yù)覽字體的應(yīng)用程序(如MS Office)
另外,在Windows 9x n/Me中運(yùn)行16位程序(如DOS程序)時(shí),Windows會(huì)劃定一塊內(nèi)存供所有這類程序使用。除非所有16位程序都已經(jīng)關(guān)閉,這塊內(nèi)存是不會(huì)被釋放的
6.大內(nèi)存的優(yōu)勢到底在哪里?
難道大內(nèi)存就沒有作用了嗎?內(nèi)存廠商在騙錢?當(dāng)然不是。當(dāng)一個(gè)應(yīng)用程序被啟動(dòng)后,Windows的一些組件也隨之被啟動(dòng),這是很常見的事情。當(dāng)應(yīng)用程序被關(guān)閉,Windows會(huì)保留那些組件不關(guān)閉,因?yàn)榭赡芎芸爝€要用到。同理,程序啟動(dòng)時(shí)調(diào)進(jìn)內(nèi)存的少數(shù)資源,也不會(huì)隨著程序關(guān)閉而退出內(nèi)存。
這時(shí),大內(nèi)存的有時(shí)正可以得到體現(xiàn)了。一方面,大內(nèi)存可以一次性容納大量數(shù)據(jù),減少使用性能遠(yuǎn)不如內(nèi)存的硬盤作為虛擬內(nèi)存使用的幾率,提高數(shù)據(jù)調(diào)用速度。另一方面,關(guān)閉程序過后,更多的常用數(shù)據(jù)會(huì)有充足的空間保留在內(nèi)存中不被清除。一旦重啟程序,你會(huì)發(fā)現(xiàn)明顯比使用小內(nèi)存時(shí)快!
二.修改注冊(cè)表發(fā)揮大內(nèi)存優(yōu)勢
現(xiàn)在請(qǐng)打開注冊(cè)表編輯器,找到[HKEY_LOCAL_MACHINE\System\CurrentControlSet\ ControlSession Manager\MomoryManagement],在右側(cè)窗格修改一下鍵值(要注意的是,做一下設(shè)置的前提是內(nèi)存好超過512MB,并僅限于Windows 2000/XP)。
(1)"LargeSystemCache"(啟動(dòng)大的系統(tǒng)緩存):在內(nèi)存中開辟一塊大的內(nèi)存空間用于磁盤文件系統(tǒng)的預(yù)讀取操作。當(dāng)程序連續(xù)請(qǐng)求的數(shù)據(jù)增加時(shí),Windows通過系統(tǒng)緩存自動(dòng)預(yù)讀,使程序能以很快速度獲取所需數(shù)據(jù)。由于啟用這個(gè)系統(tǒng)緩沖會(huì)占用較多的物理內(nèi)存,使得能被程序利用的可用物理內(nèi)存減少。將其值設(shè)為1。這樣,系統(tǒng)緩存從4MB增加到8MB。
(2)"SecondLevelDataCache"(提高CPU性能):CPU的處理速度要遠(yuǎn)遠(yuǎn)大于內(nèi)存的存取速度,而內(nèi)存又要比硬盤快得多。這樣CPU與內(nèi)存之間,內(nèi)存與磁盤之間就形成了影響性能的瓶頸效應(yīng),前面的"LargeSystemCache"是為了緩解內(nèi)存與磁盤瓶頸而設(shè)計(jì)的,而CPU為了能夠迅速從內(nèi)存獲取處理數(shù)據(jù)也設(shè)置了一種緩沖機(jī)制L2 Cache(二級(jí)緩存)。調(diào)整這個(gè)鍵值能夠使Windows更好地配合CPU利用該緩存機(jī)制獲得更高的數(shù)據(jù)預(yù)讀取命中率。建議將其設(shè)置為512
(3)DisablePagingExecutive(禁用頁面文件):將其值改為1(十六進(jìn)制),這樣將使所有程序和數(shù)據(jù)強(qiáng)制性限定在物理內(nèi)存中運(yùn)行,而不是使用虛擬內(nèi)存。很明顯,當(dāng)有足夠多的物理內(nèi)存來完成所需任務(wù)時(shí),這樣做必使系統(tǒng)性能得到巨大的提升。對(duì)于內(nèi)存僅有64MB的用戶而言啟用它或許就是災(zāi)難——系統(tǒng)頻繁出錯(cuò),直至崩潰。
(4)"IOPageLockLimit"(定制輸入/輸出緩沖尺寸):輸入輸出系統(tǒng)是設(shè)備和微處理器之間傳輸數(shù)據(jù)的通道,當(dāng)擴(kuò)大其緩沖尺寸時(shí)數(shù)據(jù)傳遞將更為流暢。同理,具體設(shè)置多大的尺寸要視物理內(nèi)存的大小和運(yùn)行任務(wù)多少來決定,一般來說,如果內(nèi)存有64MB就可將該雙字節(jié)鍵的16進(jìn)制值設(shè)置為400(1MB)、800(2MB)或1000(4MB)128MB內(nèi)存可設(shè)為1000(4MB)、2000(8MB)或4000(16MB); 256MB內(nèi)存4000(16MB)或8000(32MB)。當(dāng)然如果有更多內(nèi)存,完全可以將其設(shè)為10000(64MB)甚至更多。當(dāng)設(shè)為0時(shí), Windows將自動(dòng)配置。
小提示
據(jù)稱,此設(shè)置還能夠有效解決BT下載損傷磁盤的問題。
三.Windows98/Me能用1GB內(nèi)存嗎?
Windows98/Me不支持超過1GB以上的內(nèi)存,同時(shí),在內(nèi)存超過128MB后,還需進(jìn)行特別調(diào)整才能使系統(tǒng)更好地管理和使用內(nèi)存,并避免出現(xiàn)大內(nèi)存引發(fā)的系統(tǒng)故障。所有的關(guān)鍵設(shè)置都圍繞Vcache(虛擬高速內(nèi)存)。
你知道嗎?
什么是Vcache?
它是Windows為硬盤分配的、作為高速緩沖的物理內(nèi)存,可以大大提高硬盤的讀寫速度,類似于DOS下的Smartdrv的用途。簡單地說,Vcache 是Windows在物理內(nèi)存中自動(dòng)分配的一塊空間,用來保存曾經(jīng)使用過的,并且Windows認(rèn)為還會(huì)被再次使用的代碼和數(shù)據(jù),這樣當(dāng)新的程序要求使用這些代碼和數(shù)據(jù)時(shí),就不必從硬盤中讀取,而直接從內(nèi)存中讀取,這樣速度會(huì)快出不少,從而大大提高系統(tǒng)性能。
(1)128MB~512MB
據(jù)專家介紹,如果內(nèi)存為128MB~512MB,好用"記事本"打開c:\windows\system.ini查找[Vcache]一節(jié),找到以"MaxFilecache="開頭的一行,并設(shè)置其值為物理內(nèi)存的70%(由于這里使用的數(shù)值以KB為單位,需要使用MB*1024或 Bytes/1024的公式來轉(zhuǎn)換數(shù)據(jù)),比如:你的內(nèi)存為128MB,那么就應(yīng)該是128*0.7*1024=91750.4(約為91750KB),該語句應(yīng)寫為"MaxFileCache=91750"
(2)512MB以上內(nèi)存
有些朋友會(huì)發(fā)現(xiàn),當(dāng)把內(nèi)存增加到512MB以上后,啟動(dòng)Windows98/Me或打開DOS窗口時(shí),系統(tǒng)會(huì)提示"內(nèi)存不足"。
這主要是因?yàn)閃indows98/Me處理大于512MB內(nèi)存時(shí)存在缺陷,因此好將Vcache的MaxFileCache值制定為512MB(524,288KB),也就是"MaxFileCache=524288"。
(3)1GB內(nèi)存
如果內(nèi)存達(dá)到了1GB或更高,那么Windows98/Me會(huì)出現(xiàn)連續(xù)重啟、死機(jī)或在使用Windows Update過程中不斷重啟的故障。
要解決這個(gè)問題,同樣是打開System.ini文件,在[386Ehh]字段添加"MaxPhysPage=40000"。這樣,就可以限制Windows讀取的內(nèi)存控制在1GB以下。
如果無法進(jìn)入Windows,那么可在重啟時(shí)一直按下Ctrl鍵直到出現(xiàn)啟動(dòng)菜單,接著選擇"Command Prompt Only"項(xiàng),在出現(xiàn)命令提示符后,輸入"edit system.ini"并回車,接著在[386Ehh]字段添加"MaxPhysPage=40000"。
四.關(guān)閉休眠
很多用戶喜歡休眠功能,這樣可以實(shí)現(xiàn)快速開機(jī)功能,但對(duì)于大內(nèi)存的電腦來說,在不經(jīng)常讀、寫硬盤的情況下,好是把硬盤休眠功能關(guān)閉,因?yàn)橛袝r(shí)也會(huì)因此而造成無故死機(jī)故障。
五.有大內(nèi)存就可以不要虛擬內(nèi)存了?
經(jīng)??吹讲簧傥恼陆榻B,再有了大內(nèi)存后,就可以將虛擬內(nèi)存禁用掉。其實(shí)不然!比如:Windows98/Me對(duì)大于512MB的內(nèi)存有先天不足,大于這個(gè)數(shù)量的內(nèi)存,Windows98會(huì)出現(xiàn)不穩(wěn)定及啟動(dòng)速度變慢的情況。如果使用了大內(nèi)存加上禁用虛擬內(nèi)存,不穩(wěn)定因素將會(huì)進(jìn)一步增加。
另外,Windows本身的設(shè)計(jì)是,一旦發(fā)現(xiàn)有進(jìn)程轉(zhuǎn)入不活動(dòng)狀態(tài),就會(huì)把分配給它的內(nèi)存空間映射到交換文件中,盡可能空出物理內(nèi)存給其他活動(dòng)的進(jìn)程,并不是用完物理內(nèi)存才開始動(dòng)用交換文件。因?yàn)槿绻鹊轿锢韮?nèi)存用完再調(diào)用,就已經(jīng)太遲了。在配制較低的電腦上勢必造成數(shù)據(jù)傳輸和處理停滯。所以禁止虛擬內(nèi)存從原則上來講,很易引起Windows異常,及時(shí)不出現(xiàn)運(yùn)行不了的故障,也會(huì)頻繁提示虛擬內(nèi)存不夠,請(qǐng)重新設(shè)置云云。
六.讓大內(nèi)存為硬盤助力
如果你擁有了超過512MB的內(nèi)存,并且還有一塊邁拓或昆騰硬盤,那么Maxtor公司推出的MaxBoost值得一試,據(jù)稱,它能大幅提升硬盤性能,很大可以提升約60%的硬盤性能。該軟件其實(shí)是一塊磁盤驅(qū)動(dòng),替換了Windows2000/XP的磁盤驅(qū)動(dòng),能針對(duì)不同應(yīng)用軟件自動(dòng)在系統(tǒng)內(nèi)存中設(shè)置一個(gè)適合大小的緩存,在讀寫數(shù)據(jù)前起到預(yù)讀和緩沖作用,利用磁盤讀寫數(shù)據(jù)以一種不肯公布技術(shù)細(xì)節(jié)的"高級(jí)算法",從而有效的提升硬盤讀寫速度,達(dá)到提升應(yīng)用程序和系統(tǒng)速度的目的。據(jù)一些專家介紹,該軟件雖然沒有官方宣稱的那樣神奇,但確實(shí)在文件復(fù)制等操作方面大顯身手。當(dāng)然由于MaxBoost還處于測試階段,所以仍存在一些問題,所以建議普通玩家在該軟件正式推出后再使用。
附轉(zhuǎn):不浪費(fèi)1G內(nèi)存終極優(yōu)化指南
內(nèi)存越大,機(jī)器越快?我想大多數(shù)人的回答都是肯定的,從256M到512M的提示是明顯的,所以想當(dāng)然的,從512M到1G的提升也會(huì)很明顯吧。但是我用我的親身經(jīng)歷告訴你,1G的內(nèi)存比512M還慢,當(dāng)然前提是你什么都不設(shè)置。
前幾天我把我的Compaq N410c擴(kuò)展到了1G的內(nèi)存,2×512M PC133的SD,結(jié)果擴(kuò)展之后發(fā)現(xiàn)機(jī)器不但還跟原來一樣,有點(diǎn)卡,而且休眠時(shí)間變Zhang了,這是肯定的啦,休眠就是把內(nèi)存里的東西拷貝到硬盤上,內(nèi)存越大,休眠時(shí)間肯定越Zhang了,這讓我很郁悶,難道我花了500多升級(jí)我的機(jī)器,反而比原來更慢了。我用memstate這個(gè)軟件實(shí)時(shí)監(jiān)測我的內(nèi)存情況,發(fā)現(xiàn)一直都有600多兆的空余內(nèi)存,這說明機(jī)器的內(nèi)存是非常夠用的,甚至很多都在被浪費(fèi)著,可是機(jī)器為啥還是這么慢呢?于是我到google上找原因,結(jié)果發(fā)現(xiàn)已經(jīng)有很多人發(fā)現(xiàn)這個(gè)問題了,并且已經(jīng)有了權(quán)威的解釋,具體原因大家可以參看這里:,這篇文章中也提到了大內(nèi)存應(yīng)該如何設(shè)置才能發(fā)揮效力,這里我把關(guān)鍵的部分摘抄出來,并結(jié)合自己的使用心得與大家分享。注:這里的修改以及使用方法均針對(duì)XP系統(tǒng)。
修改注冊(cè)表發(fā)揮大內(nèi)存優(yōu)勢
現(xiàn)在請(qǐng)打開注冊(cè)表編輯器,找到[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\MomoryManagement],在右側(cè)窗格修改一下鍵值(要注意的是,做一下設(shè)置的前提是內(nèi)存好超過512MB,并僅限于Windows 2000/XP)。
(1)"LargeSystemCache"(啟動(dòng)大的系統(tǒng)緩存):在內(nèi)存中開辟一塊大的內(nèi)存空間用于磁盤文件系統(tǒng)的預(yù)讀取操作。當(dāng)程序連續(xù)請(qǐng)求的數(shù)據(jù)增加時(shí),Windows通過系統(tǒng)緩存自動(dòng)預(yù)讀,使程序能以很快速度獲取所需數(shù)據(jù)。由于啟用這個(gè)系統(tǒng)緩沖會(huì)占用較多的物理內(nèi)存,使得能被程序利用的可用物理內(nèi)存減少。將其值設(shè)為1。這樣,系統(tǒng)緩存從4MB增加到8MB。
(2)"SecondLevelDataCache"(提高CPU性能):CPU的處理速度要遠(yuǎn)遠(yuǎn)大于內(nèi)存的存取速度,而內(nèi)存又要比硬盤快得多。這樣CPU與內(nèi)存之間,內(nèi)存與磁盤之間就形成了影響性能的瓶頸效應(yīng),前面的"LargeSystemCache"是為了緩解內(nèi)存與磁盤瓶頸而設(shè)計(jì)的,而CPU為了能夠迅速從內(nèi)存獲取處理數(shù)據(jù)也設(shè)置了一種緩沖機(jī)制L2 Cache(二級(jí)緩存)。調(diào)整這個(gè)鍵值能夠使Windows更好地配合CPU利用該緩存機(jī)制獲得更高的數(shù)據(jù)預(yù)讀取命中率。建議將其設(shè)置為512
(3)DisablePagingExecutive(禁用頁面文件):將其值改為1(十六進(jìn)制),這樣將使所有程序和數(shù)據(jù)強(qiáng)制性限定在物理內(nèi)存中運(yùn)行,而不是使用虛擬內(nèi)存。很明顯,當(dāng)有足夠多的物理內(nèi)存來完成所需任務(wù)時(shí),這樣做必使系統(tǒng)性能得到巨大的提升。對(duì)于內(nèi)存僅有64MB的用戶而言啟用它或許就是災(zāi)難——系統(tǒng)頻繁出錯(cuò),直至崩潰。
(4)"IOPageLockLimit"(定制輸入/輸出緩沖尺寸):輸入輸出系統(tǒng)是設(shè)備和微處理器之間傳輸數(shù)據(jù)的通道,當(dāng)擴(kuò)大其緩沖尺寸時(shí)數(shù)據(jù)傳遞將更為流暢。同理,具體設(shè)置多大的尺寸要視物理內(nèi)存的大小和運(yùn)行任務(wù)多少來決定,一般來說,如果內(nèi)存有64MB就可將該雙字節(jié)鍵的16進(jìn)制值設(shè)置為400(1MB)、800(2MB)或1000(4MB)128MB內(nèi)存可設(shè)為1000(4MB)、2000(8MB)或4000(16MB);256MB內(nèi)存4000(16MB)或8000(32MB)。當(dāng)然如果有更多內(nèi)存,完全可以將其設(shè)為10000(64MB)甚至更多。當(dāng)設(shè)為0時(shí),Windows將自動(dòng)配置。
設(shè)置這些之后,重啟系統(tǒng)即可。其實(shí)修改這些的效果并不是很明顯,不過心理上總有個(gè)安慰吧,下面的才是讓你感到質(zhì)的飛躍的地方。
這里要向大家介紹一個(gè)軟件,RAMDisk Plus,這個(gè)軟件就是把內(nèi)存的一部分劃分出來作為一個(gè)磁盤分區(qū)用的,你可以把一些臨時(shí)文件夾轉(zhuǎn)移到這個(gè)分區(qū)上,比如IE的臨時(shí)文件夾,這樣會(huì)大大提升你瀏覽網(wǎng)頁的速度。內(nèi)存的傳輸速度和硬盤的傳輸速度的差距我想大家都清楚吧,用內(nèi)存的一部分作硬盤相當(dāng)于添加了一個(gè)幾十萬轉(zhuǎn)的硬盤,速度的提升可想而知。這個(gè)是我的親身體會(huì),我把我的內(nèi)存中的100M劃出來作為一個(gè)分區(qū),然後把IE的臨時(shí)文件夾挪到上面,重啟之后,打開網(wǎng)頁就是一瞬間,以前即便是在網(wǎng)速很好的半夜,也沒有這么快的,看來很多時(shí)候網(wǎng)速不是瓶頸,機(jī)器才是瓶頸啊,尤其是那些圖片較多,需要緩存的網(wǎng)頁,大家可以試試。劃出這100M內(nèi)存之后,我現(xiàn)在的正常可用內(nèi)存還保持在500M以上,還有好多空間啊,好在RAMDISK plus可以添加多個(gè)分區(qū),我可以再劃出來幾個(gè)分區(qū),然后把一些常用程序放進(jìn)去,這樣運(yùn)行起來肯定也快多了。不過記住,內(nèi)存掉電后里面東西就都沒了,但是還好,Ramdisk plus提供了關(guān)機(jī)自動(dòng)保存的選項(xiàng),也就是關(guān)機(jī)的時(shí)候可以把虛擬硬盤分區(qū)中的東西保存到實(shí)際硬盤分區(qū)中你指定的地方,然后開機(jī)的時(shí)候再load回來,跟休眠的道理差不多啦,只是這樣就會(huì)導(dǎo)致關(guān)機(jī)時(shí)間和開機(jī)時(shí)間變得很Zhang,所以我建議只在虛擬硬盤分區(qū)上放臨時(shí)文件,反正臨時(shí)文件遲早是要被清空的,放到ramdisk上還省去了手動(dòng)清空的麻煩。
一、Windows這樣使用內(nèi)存
想要知道為什么系統(tǒng)速度提升不再明顯,必須先理解Windows 怎樣使用內(nèi)存。這里要涉及一個(gè)概念——資源。
這不是平時(shí)所說的CPU資源,內(nèi)存資源或統(tǒng)一的"系統(tǒng)"資源。我們接下來要講到的"資源"就是程序可以操縱的Windows物件。舉例來說,屏幕上顯示的每個(gè)窗口都是一個(gè)資源,每幅圖片也都可以能是一個(gè)資源。如果一個(gè)應(yīng)用程序打開了磁盤上的一個(gè)文件,那么這個(gè)被打開的文件也是一個(gè)資源。以此類推,如果一個(gè)應(yīng)用程序需要使用一個(gè)資源,它就會(huì)向操作系統(tǒng)提出請(qǐng)求,要求新建一個(gè)或從存儲(chǔ)器里調(diào)用
1.情景再現(xiàn):程序與系統(tǒng)的對(duì)話
程序說:"嗨,Windows,我要新建一個(gè)300像素寬,200像素高的窗口,ok?"于是,Windows立即按要求創(chuàng)建或調(diào)用這個(gè)資源進(jìn)內(nèi)存,然后反饋給應(yīng)用程序一個(gè)代號(hào):"好,我已經(jīng)創(chuàng)建好你要的窗口,它的代號(hào)是#38710。"此后,需要用到新建的這個(gè)窗口時(shí),應(yīng)用程序都用 Windows反饋的代號(hào)代表這個(gè)資源。"Windows,麻煩你在顯示屏幕左上角顯示#38710。""好!"很后,當(dāng)應(yīng)用程序不需要用到該資源的時(shí)候,它會(huì)要求Windows去除這個(gè)資源。"OK,請(qǐng)你刪除#38710。""好!"。
2.指針——內(nèi)存中的郵政編碼
那么這個(gè)代號(hào)是依據(jù)什么標(biāo)準(zhǔn)生成的呢?在絕大多數(shù)操作系統(tǒng)中,它是靠一種叫做"指針"的東西來確定的。你可以把整個(gè)內(nèi)存想像成一個(gè)郵局,郵遞員把需要寄往各地的信件分類放到很多個(gè)不同的信箱里。信箱一個(gè)接一個(gè),足足占據(jù)了一堵墻。每個(gè)心細(xì)那個(gè)都裝了一些信件,包含要送往一個(gè)特定地區(qū)的信息。而且,就好像每個(gè)地區(qū)都有郵政編碼一樣,每一塊可以存儲(chǔ)數(shù)據(jù)的內(nèi)存空間也有一個(gè)地址——指針。代表這個(gè)存儲(chǔ)空間的一串?dāng)?shù)字。內(nèi)存中某部分?jǐn)?shù)據(jù)的"指針",也就是這些數(shù)據(jù)占據(jù)的處內(nèi)存空間的地址。所以,如果我是一個(gè)普通的操作系統(tǒng),有一個(gè)應(yīng)用程序要求我調(diào)用一個(gè)窗口,我就會(huì)按照它告訴我的要求調(diào)用這個(gè)窗口進(jìn)內(nèi)存,如果這個(gè)資源的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的地址開始于#1234567,那么我就會(huì)返回一條信息給應(yīng)用程序:"好了,我調(diào)出了這個(gè)窗口,它是 #1234567。"
3.解決指針帶來的問題
在PC中,這種指針有4個(gè)字節(jié)Zhang。所以如果一個(gè)應(yīng)用程序需要給內(nèi)存里的某個(gè)數(shù)據(jù)配一個(gè)指針,那就需要4字節(jié)的內(nèi)存空間。這樣的工作方式給早期的Windows設(shè)計(jì)者帶來了不小的麻煩,因?yàn)槟菚r(shí)制作工藝尚不發(fā)達(dá),內(nèi)存非常昂貴,一臺(tái)電腦上有8MB的內(nèi)存就足以讓用戶無數(shù)次從夢里笑醒了,大多數(shù)電腦只能配制4MB內(nèi)存。在內(nèi)存如此緊張的情況下,一個(gè)應(yīng)用程序卻經(jīng)常需要用到幾百萬個(gè)資源。要用這些資源,就要個(gè)每個(gè)資源配發(fā)一個(gè)指針。每個(gè)指針占據(jù)4個(gè)字節(jié),幾百萬個(gè)指針,就會(huì)消耗掉數(shù)量客觀的一塊內(nèi)存空間。這就好比一份錢很少,但如果要發(fā)給全國人民每人一份錢,那就是至少一千三百萬元的巨款了。
所以,Windows設(shè)計(jì)者采用了另外一種替代方案。他們創(chuàng)建了資源表。就是把當(dāng)前調(diào)入內(nèi)存的所有資源的信息登記到一個(gè)清單。這樣一來,當(dāng)應(yīng)用程序要求系統(tǒng)調(diào)用一個(gè)資源時(shí),系統(tǒng)調(diào)用后就不給它配發(fā)指針了,而是直接告訴應(yīng)用程序該資源在資源表中的序號(hào)。"好了,我已經(jīng)調(diào)用了你需要的資源,它在資源表里面的序號(hào)是#383"因?yàn)樾枰皇莾?nèi)存地址,所以就可以用一個(gè)只需占用2字節(jié)的數(shù)字表示。這只是兩個(gè)字節(jié)的差距。但當(dāng)你只有幾MB內(nèi)存,而你運(yùn)行的程序動(dòng)咎調(diào)用大量資源時(shí),這兩字節(jié)的差距就會(huì)帶來很大的優(yōu)勢。
你知道嗎?
微軟64位操作系統(tǒng)沒1GB內(nèi)存就別玩
在32位Windows 2000/XP中,很大支持4GB的內(nèi)存,每個(gè)應(yīng)用程序很多只能使用2GB內(nèi)存,因?yàn)榱硪话氲膬?nèi)存也留給系統(tǒng)使用了。而在64位WindowsXP中,這個(gè)限制沒有了,每個(gè)程序能完全使用4GB內(nèi)存,除Windows,微軟還在開發(fā)64位版本的 SQL Server 2000和Windows Server2003,不過要運(yùn)行這些應(yīng)用程序,需要你的電腦至少得有1GB內(nèi)存
4.時(shí)過境遷,妙計(jì)成缺陷
但這種方法也有它的弊端——兩個(gè)字節(jié)能夠表現(xiàn)的不同數(shù)字非常有限
我們可以做個(gè)實(shí)驗(yàn):請(qǐng)你寫不同的數(shù)字。如果只準(zhǔn)你寫一位數(shù),那就只能寫出十個(gè)不同數(shù)字。如果限制寫兩位數(shù),雖然能寫出更多,但總數(shù)仍然有限。以此類推,允許位數(shù)越多,能寫出的不同數(shù)字就越多。但只要位數(shù)有限制,寫出的不同數(shù)字的總數(shù)就始終有限。同理,如果允許系統(tǒng)使用4字節(jié)的序號(hào),那么在這個(gè) "位數(shù)限制"下,可以有幾十億個(gè)不同的序號(hào)可供使用。但如果只準(zhǔn)系統(tǒng)使用2字節(jié)序號(hào),能用的序號(hào)就會(huì)銳減到65536個(gè)。于是,前面我們講的資源表就不能無限的拉Zhang。其中的序號(hào)很多只有65536個(gè)
于是問題來了。當(dāng)調(diào)用了65536個(gè)資源后,再想調(diào)用更多的資源,縱然內(nèi)存空間還有1GB,足以存儲(chǔ)數(shù)百億個(gè)資源,但只有2字節(jié)的資源表卻無法生成更多的序號(hào)!沒有序號(hào),就意味著無法將各資源區(qū)分開來,應(yīng)用程序自然無法使用這些沒有"戶口"的資源!事實(shí)上,因?yàn)闆]有序號(hào)可用,系統(tǒng)根本無法同時(shí)調(diào)用65536個(gè)以上的資源。
但在10MB內(nèi)存都是奢望的年代,要同時(shí)調(diào)用數(shù)十萬個(gè)資源根本就是"無稽之談"。所以當(dāng)時(shí)的Windows設(shè)計(jì)者們沒有把這個(gè)問題放在心上,果斷地選用了資源表,選用了2字節(jié)序號(hào)。
今天,操作系統(tǒng)算是得到報(bào)應(yīng)了。內(nèi)存便宜了,資源表和2字節(jié)序號(hào)仍然給我們節(jié)省了內(nèi)存空間,但它帶來的壞處卻遠(yuǎn)遠(yuǎn)超過了它帶來的好處。我們有足夠的內(nèi)存空間,可以調(diào)用數(shù)百萬個(gè)資源,但資源表里面只有65536個(gè)序號(hào)!所以同一時(shí)間內(nèi),內(nèi)存中只能有65536個(gè)資源!還有1GB內(nèi)存空間可用?等著吧!
5.真正"耗資源"的是誰?
明白了上面的道理,就不難分辨除了大個(gè)文件,大個(gè)程序外,真正消耗系統(tǒng)資源的是哪些程序了:
★ 調(diào)用大量細(xì)小資源,把桌面裝飾的花里胡哨的軟件
★ 各種多媒體播放軟件
★ 監(jiān)視系統(tǒng)的工具軟件
★ 能在字體菜單里面預(yù)覽字體的應(yīng)用程序(如MS Office)
另外,在Windows 9x n/Me中運(yùn)行16位程序(如DOS程序)時(shí),Windows會(huì)劃定一塊內(nèi)存供所有這類程序使用。除非所有16位程序都已經(jīng)關(guān)閉,這塊內(nèi)存是不會(huì)被釋放的
6.大內(nèi)存的優(yōu)勢到底在哪里?
難道大內(nèi)存就沒有作用了嗎?內(nèi)存廠商在騙錢?當(dāng)然不是。當(dāng)一個(gè)應(yīng)用程序被啟動(dòng)后,Windows的一些組件也隨之被啟動(dòng),這是很常見的事情。當(dāng)應(yīng)用程序被關(guān)閉,Windows會(huì)保留那些組件不關(guān)閉,因?yàn)榭赡芎芸爝€要用到。同理,程序啟動(dòng)時(shí)調(diào)進(jìn)內(nèi)存的少數(shù)資源,也不會(huì)隨著程序關(guān)閉而退出內(nèi)存。
這時(shí),大內(nèi)存的有時(shí)正可以得到體現(xiàn)了。一方面,大內(nèi)存可以一次性容納大量數(shù)據(jù),減少使用性能遠(yuǎn)不如內(nèi)存的硬盤作為虛擬內(nèi)存使用的幾率,提高數(shù)據(jù)調(diào)用速度。另一方面,關(guān)閉程序過后,更多的常用數(shù)據(jù)會(huì)有充足的空間保留在內(nèi)存中不被清除。一旦重啟程序,你會(huì)發(fā)現(xiàn)明顯比使用小內(nèi)存時(shí)快!
二.修改注冊(cè)表發(fā)揮大內(nèi)存優(yōu)勢
現(xiàn)在請(qǐng)打開注冊(cè)表編輯器,找到[HKEY_LOCAL_MACHINE\System\CurrentControlSet\ ControlSession Manager\MomoryManagement],在右側(cè)窗格修改一下鍵值(要注意的是,做一下設(shè)置的前提是內(nèi)存好超過512MB,并僅限于Windows 2000/XP)。
(1)"LargeSystemCache"(啟動(dòng)大的系統(tǒng)緩存):在內(nèi)存中開辟一塊大的內(nèi)存空間用于磁盤文件系統(tǒng)的預(yù)讀取操作。當(dāng)程序連續(xù)請(qǐng)求的數(shù)據(jù)增加時(shí),Windows通過系統(tǒng)緩存自動(dòng)預(yù)讀,使程序能以很快速度獲取所需數(shù)據(jù)。由于啟用這個(gè)系統(tǒng)緩沖會(huì)占用較多的物理內(nèi)存,使得能被程序利用的可用物理內(nèi)存減少。將其值設(shè)為1。這樣,系統(tǒng)緩存從4MB增加到8MB。
(2)"SecondLevelDataCache"(提高CPU性能):CPU的處理速度要遠(yuǎn)遠(yuǎn)大于內(nèi)存的存取速度,而內(nèi)存又要比硬盤快得多。這樣CPU與內(nèi)存之間,內(nèi)存與磁盤之間就形成了影響性能的瓶頸效應(yīng),前面的"LargeSystemCache"是為了緩解內(nèi)存與磁盤瓶頸而設(shè)計(jì)的,而CPU為了能夠迅速從內(nèi)存獲取處理數(shù)據(jù)也設(shè)置了一種緩沖機(jī)制L2 Cache(二級(jí)緩存)。調(diào)整這個(gè)鍵值能夠使Windows更好地配合CPU利用該緩存機(jī)制獲得更高的數(shù)據(jù)預(yù)讀取命中率。建議將其設(shè)置為512
(3)DisablePagingExecutive(禁用頁面文件):將其值改為1(十六進(jìn)制),這樣將使所有程序和數(shù)據(jù)強(qiáng)制性限定在物理內(nèi)存中運(yùn)行,而不是使用虛擬內(nèi)存。很明顯,當(dāng)有足夠多的物理內(nèi)存來完成所需任務(wù)時(shí),這樣做必使系統(tǒng)性能得到巨大的提升。對(duì)于內(nèi)存僅有64MB的用戶而言啟用它或許就是災(zāi)難——系統(tǒng)頻繁出錯(cuò),直至崩潰。
(4)"IOPageLockLimit"(定制輸入/輸出緩沖尺寸):輸入輸出系統(tǒng)是設(shè)備和微處理器之間傳輸數(shù)據(jù)的通道,當(dāng)擴(kuò)大其緩沖尺寸時(shí)數(shù)據(jù)傳遞將更為流暢。同理,具體設(shè)置多大的尺寸要視物理內(nèi)存的大小和運(yùn)行任務(wù)多少來決定,一般來說,如果內(nèi)存有64MB就可將該雙字節(jié)鍵的16進(jìn)制值設(shè)置為400(1MB)、800(2MB)或1000(4MB)128MB內(nèi)存可設(shè)為1000(4MB)、2000(8MB)或4000(16MB); 256MB內(nèi)存4000(16MB)或8000(32MB)。當(dāng)然如果有更多內(nèi)存,完全可以將其設(shè)為10000(64MB)甚至更多。當(dāng)設(shè)為0時(shí), Windows將自動(dòng)配置。
小提示
據(jù)稱,此設(shè)置還能夠有效解決BT下載損傷磁盤的問題。
三.Windows98/Me能用1GB內(nèi)存嗎?
Windows98/Me不支持超過1GB以上的內(nèi)存,同時(shí),在內(nèi)存超過128MB后,還需進(jìn)行特別調(diào)整才能使系統(tǒng)更好地管理和使用內(nèi)存,并避免出現(xiàn)大內(nèi)存引發(fā)的系統(tǒng)故障。所有的關(guān)鍵設(shè)置都圍繞Vcache(虛擬高速內(nèi)存)。
你知道嗎?
什么是Vcache?
它是Windows為硬盤分配的、作為高速緩沖的物理內(nèi)存,可以大大提高硬盤的讀寫速度,類似于DOS下的Smartdrv的用途。簡單地說,Vcache 是Windows在物理內(nèi)存中自動(dòng)分配的一塊空間,用來保存曾經(jīng)使用過的,并且Windows認(rèn)為還會(huì)被再次使用的代碼和數(shù)據(jù),這樣當(dāng)新的程序要求使用這些代碼和數(shù)據(jù)時(shí),就不必從硬盤中讀取,而直接從內(nèi)存中讀取,這樣速度會(huì)快出不少,從而大大提高系統(tǒng)性能。
(1)128MB~512MB
據(jù)專家介紹,如果內(nèi)存為128MB~512MB,好用"記事本"打開c:\windows\system.ini查找[Vcache]一節(jié),找到以"MaxFilecache="開頭的一行,并設(shè)置其值為物理內(nèi)存的70%(由于這里使用的數(shù)值以KB為單位,需要使用MB*1024或 Bytes/1024的公式來轉(zhuǎn)換數(shù)據(jù)),比如:你的內(nèi)存為128MB,那么就應(yīng)該是128*0.7*1024=91750.4(約為91750KB),該語句應(yīng)寫為"MaxFileCache=91750"
(2)512MB以上內(nèi)存
有些朋友會(huì)發(fā)現(xiàn),當(dāng)把內(nèi)存增加到512MB以上后,啟動(dòng)Windows98/Me或打開DOS窗口時(shí),系統(tǒng)會(huì)提示"內(nèi)存不足"。
這主要是因?yàn)閃indows98/Me處理大于512MB內(nèi)存時(shí)存在缺陷,因此好將Vcache的MaxFileCache值制定為512MB(524,288KB),也就是"MaxFileCache=524288"。
(3)1GB內(nèi)存
如果內(nèi)存達(dá)到了1GB或更高,那么Windows98/Me會(huì)出現(xiàn)連續(xù)重啟、死機(jī)或在使用Windows Update過程中不斷重啟的故障。
要解決這個(gè)問題,同樣是打開System.ini文件,在[386Ehh]字段添加"MaxPhysPage=40000"。這樣,就可以限制Windows讀取的內(nèi)存控制在1GB以下。
如果無法進(jìn)入Windows,那么可在重啟時(shí)一直按下Ctrl鍵直到出現(xiàn)啟動(dòng)菜單,接著選擇"Command Prompt Only"項(xiàng),在出現(xiàn)命令提示符后,輸入"edit system.ini"并回車,接著在[386Ehh]字段添加"MaxPhysPage=40000"。
四.關(guān)閉休眠
很多用戶喜歡休眠功能,這樣可以實(shí)現(xiàn)快速開機(jī)功能,但對(duì)于大內(nèi)存的電腦來說,在不經(jīng)常讀、寫硬盤的情況下,好是把硬盤休眠功能關(guān)閉,因?yàn)橛袝r(shí)也會(huì)因此而造成無故死機(jī)故障。
五.有大內(nèi)存就可以不要虛擬內(nèi)存了?
經(jīng)??吹讲簧傥恼陆榻B,再有了大內(nèi)存后,就可以將虛擬內(nèi)存禁用掉。其實(shí)不然!比如:Windows98/Me對(duì)大于512MB的內(nèi)存有先天不足,大于這個(gè)數(shù)量的內(nèi)存,Windows98會(huì)出現(xiàn)不穩(wěn)定及啟動(dòng)速度變慢的情況。如果使用了大內(nèi)存加上禁用虛擬內(nèi)存,不穩(wěn)定因素將會(huì)進(jìn)一步增加。
另外,Windows本身的設(shè)計(jì)是,一旦發(fā)現(xiàn)有進(jìn)程轉(zhuǎn)入不活動(dòng)狀態(tài),就會(huì)把分配給它的內(nèi)存空間映射到交換文件中,盡可能空出物理內(nèi)存給其他活動(dòng)的進(jìn)程,并不是用完物理內(nèi)存才開始動(dòng)用交換文件。因?yàn)槿绻鹊轿锢韮?nèi)存用完再調(diào)用,就已經(jīng)太遲了。在配制較低的電腦上勢必造成數(shù)據(jù)傳輸和處理停滯。所以禁止虛擬內(nèi)存從原則上來講,很易引起Windows異常,及時(shí)不出現(xiàn)運(yùn)行不了的故障,也會(huì)頻繁提示虛擬內(nèi)存不夠,請(qǐng)重新設(shè)置云云。
六.讓大內(nèi)存為硬盤助力
如果你擁有了超過512MB的內(nèi)存,并且還有一塊邁拓或昆騰硬盤,那么Maxtor公司推出的MaxBoost值得一試,據(jù)稱,它能大幅提升硬盤性能,很大可以提升約60%的硬盤性能。該軟件其實(shí)是一塊磁盤驅(qū)動(dòng),替換了Windows2000/XP的磁盤驅(qū)動(dòng),能針對(duì)不同應(yīng)用軟件自動(dòng)在系統(tǒng)內(nèi)存中設(shè)置一個(gè)適合大小的緩存,在讀寫數(shù)據(jù)前起到預(yù)讀和緩沖作用,利用磁盤讀寫數(shù)據(jù)以一種不肯公布技術(shù)細(xì)節(jié)的"高級(jí)算法",從而有效的提升硬盤讀寫速度,達(dá)到提升應(yīng)用程序和系統(tǒng)速度的目的。據(jù)一些專家介紹,該軟件雖然沒有官方宣稱的那樣神奇,但確實(shí)在文件復(fù)制等操作方面大顯身手。當(dāng)然由于MaxBoost還處于測試階段,所以仍存在一些問題,所以建議普通玩家在該軟件正式推出后再使用。
附轉(zhuǎn):不浪費(fèi)1G內(nèi)存終極優(yōu)化指南
內(nèi)存越大,機(jī)器越快?我想大多數(shù)人的回答都是肯定的,從256M到512M的提示是明顯的,所以想當(dāng)然的,從512M到1G的提升也會(huì)很明顯吧。但是我用我的親身經(jīng)歷告訴你,1G的內(nèi)存比512M還慢,當(dāng)然前提是你什么都不設(shè)置。
前幾天我把我的Compaq N410c擴(kuò)展到了1G的內(nèi)存,2×512M PC133的SD,結(jié)果擴(kuò)展之后發(fā)現(xiàn)機(jī)器不但還跟原來一樣,有點(diǎn)卡,而且休眠時(shí)間變Zhang了,這是肯定的啦,休眠就是把內(nèi)存里的東西拷貝到硬盤上,內(nèi)存越大,休眠時(shí)間肯定越Zhang了,這讓我很郁悶,難道我花了500多升級(jí)我的機(jī)器,反而比原來更慢了。我用memstate這個(gè)軟件實(shí)時(shí)監(jiān)測我的內(nèi)存情況,發(fā)現(xiàn)一直都有600多兆的空余內(nèi)存,這說明機(jī)器的內(nèi)存是非常夠用的,甚至很多都在被浪費(fèi)著,可是機(jī)器為啥還是這么慢呢?于是我到google上找原因,結(jié)果發(fā)現(xiàn)已經(jīng)有很多人發(fā)現(xiàn)這個(gè)問題了,并且已經(jīng)有了權(quán)威的解釋,具體原因大家可以參看這里:,這篇文章中也提到了大內(nèi)存應(yīng)該如何設(shè)置才能發(fā)揮效力,這里我把關(guān)鍵的部分摘抄出來,并結(jié)合自己的使用心得與大家分享。注:這里的修改以及使用方法均針對(duì)XP系統(tǒng)。
修改注冊(cè)表發(fā)揮大內(nèi)存優(yōu)勢
現(xiàn)在請(qǐng)打開注冊(cè)表編輯器,找到[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\MomoryManagement],在右側(cè)窗格修改一下鍵值(要注意的是,做一下設(shè)置的前提是內(nèi)存好超過512MB,并僅限于Windows 2000/XP)。
(1)"LargeSystemCache"(啟動(dòng)大的系統(tǒng)緩存):在內(nèi)存中開辟一塊大的內(nèi)存空間用于磁盤文件系統(tǒng)的預(yù)讀取操作。當(dāng)程序連續(xù)請(qǐng)求的數(shù)據(jù)增加時(shí),Windows通過系統(tǒng)緩存自動(dòng)預(yù)讀,使程序能以很快速度獲取所需數(shù)據(jù)。由于啟用這個(gè)系統(tǒng)緩沖會(huì)占用較多的物理內(nèi)存,使得能被程序利用的可用物理內(nèi)存減少。將其值設(shè)為1。這樣,系統(tǒng)緩存從4MB增加到8MB。
(2)"SecondLevelDataCache"(提高CPU性能):CPU的處理速度要遠(yuǎn)遠(yuǎn)大于內(nèi)存的存取速度,而內(nèi)存又要比硬盤快得多。這樣CPU與內(nèi)存之間,內(nèi)存與磁盤之間就形成了影響性能的瓶頸效應(yīng),前面的"LargeSystemCache"是為了緩解內(nèi)存與磁盤瓶頸而設(shè)計(jì)的,而CPU為了能夠迅速從內(nèi)存獲取處理數(shù)據(jù)也設(shè)置了一種緩沖機(jī)制L2 Cache(二級(jí)緩存)。調(diào)整這個(gè)鍵值能夠使Windows更好地配合CPU利用該緩存機(jī)制獲得更高的數(shù)據(jù)預(yù)讀取命中率。建議將其設(shè)置為512
(3)DisablePagingExecutive(禁用頁面文件):將其值改為1(十六進(jìn)制),這樣將使所有程序和數(shù)據(jù)強(qiáng)制性限定在物理內(nèi)存中運(yùn)行,而不是使用虛擬內(nèi)存。很明顯,當(dāng)有足夠多的物理內(nèi)存來完成所需任務(wù)時(shí),這樣做必使系統(tǒng)性能得到巨大的提升。對(duì)于內(nèi)存僅有64MB的用戶而言啟用它或許就是災(zāi)難——系統(tǒng)頻繁出錯(cuò),直至崩潰。
(4)"IOPageLockLimit"(定制輸入/輸出緩沖尺寸):輸入輸出系統(tǒng)是設(shè)備和微處理器之間傳輸數(shù)據(jù)的通道,當(dāng)擴(kuò)大其緩沖尺寸時(shí)數(shù)據(jù)傳遞將更為流暢。同理,具體設(shè)置多大的尺寸要視物理內(nèi)存的大小和運(yùn)行任務(wù)多少來決定,一般來說,如果內(nèi)存有64MB就可將該雙字節(jié)鍵的16進(jìn)制值設(shè)置為400(1MB)、800(2MB)或1000(4MB)128MB內(nèi)存可設(shè)為1000(4MB)、2000(8MB)或4000(16MB);256MB內(nèi)存4000(16MB)或8000(32MB)。當(dāng)然如果有更多內(nèi)存,完全可以將其設(shè)為10000(64MB)甚至更多。當(dāng)設(shè)為0時(shí),Windows將自動(dòng)配置。
設(shè)置這些之后,重啟系統(tǒng)即可。其實(shí)修改這些的效果并不是很明顯,不過心理上總有個(gè)安慰吧,下面的才是讓你感到質(zhì)的飛躍的地方。
這里要向大家介紹一個(gè)軟件,RAMDisk Plus,這個(gè)軟件就是把內(nèi)存的一部分劃分出來作為一個(gè)磁盤分區(qū)用的,你可以把一些臨時(shí)文件夾轉(zhuǎn)移到這個(gè)分區(qū)上,比如IE的臨時(shí)文件夾,這樣會(huì)大大提升你瀏覽網(wǎng)頁的速度。內(nèi)存的傳輸速度和硬盤的傳輸速度的差距我想大家都清楚吧,用內(nèi)存的一部分作硬盤相當(dāng)于添加了一個(gè)幾十萬轉(zhuǎn)的硬盤,速度的提升可想而知。這個(gè)是我的親身體會(huì),我把我的內(nèi)存中的100M劃出來作為一個(gè)分區(qū),然後把IE的臨時(shí)文件夾挪到上面,重啟之后,打開網(wǎng)頁就是一瞬間,以前即便是在網(wǎng)速很好的半夜,也沒有這么快的,看來很多時(shí)候網(wǎng)速不是瓶頸,機(jī)器才是瓶頸啊,尤其是那些圖片較多,需要緩存的網(wǎng)頁,大家可以試試。劃出這100M內(nèi)存之后,我現(xiàn)在的正常可用內(nèi)存還保持在500M以上,還有好多空間啊,好在RAMDISK plus可以添加多個(gè)分區(qū),我可以再劃出來幾個(gè)分區(qū),然后把一些常用程序放進(jìn)去,這樣運(yùn)行起來肯定也快多了。不過記住,內(nèi)存掉電后里面東西就都沒了,但是還好,Ramdisk plus提供了關(guān)機(jī)自動(dòng)保存的選項(xiàng),也就是關(guān)機(jī)的時(shí)候可以把虛擬硬盤分區(qū)中的東西保存到實(shí)際硬盤分區(qū)中你指定的地方,然后開機(jī)的時(shí)候再load回來,跟休眠的道理差不多啦,只是這樣就會(huì)導(dǎo)致關(guān)機(jī)時(shí)間和開機(jī)時(shí)間變得很Zhang,所以我建議只在虛擬硬盤分區(qū)上放臨時(shí)文件,反正臨時(shí)文件遲早是要被清空的,放到ramdisk上還省去了手動(dòng)清空的麻煩。