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