Win 2000系統內存優化全攻略
不管你用的是什么操作系統,內存子系統總是重點優化的對象。因為它不僅直接影響RAM的性能,還決定了其它子系統之間的通信能力,進而影響整個系統的性能。Windows 2000是一個基于'性能'的操作系統,所以充分挖掘內存子系統的潛力是非常必要的。在本文中,我們要給大家介紹如何給操作系統消腫和優化注冊表,以達到改進系統性能的目的。不同的方面有不同的優化方法,我們首先從BIOS的優化開始(BIOS的優化對所有操作系統有效);然后是其它一些優化。要注意在進行優化的時候,要以Administrator注冊,否則修改無效。
BIOS優化
在BIOS中有若干個與內存有關的選項,下面我們就給大家介紹幾個最常用的:
CAS Latency-CAS延遲是一個決定系統內存列存取時間的參數。CAS延遲越小,系統在讀取RAM中不同數據時的速度就越快。現在大多數SDRAM CAS延遲標稱值為3,但基本上都可以達到2。在市場上也有標稱值為2的SDRAM。至于 RDRAM,它的CAS延遲要比SDRAM大得多,如果把CAS延遲設小一點效果非常顯著。不過要注意的是改變CAS延遲實際上是一種超頻,要注意它的穩定性(可以運行如timedemo loop之類的穩定性測試軟件)。
RAS To CAS Delay-這項設置指的是行激活命令到讀/寫命令之間的時間。這個值越小表示越快,在修改它時,也要注意系統的穩定性。
RAS Precharge Time -這項設置指的是DRAM預充電需要多少個周期的時間,越小越好。在修改它的時候,同樣要注意穩定性。
SDRAM Precharge Control-這項設置指的是系統如何管理SDRAM的預充電時間,它有兩個值Enabled和Disabled,在不同的系統上有不同的結果,建議在你自己的系統上兩者都試一下。
Shadow System BIOS-如果它為Enabled的話,在系統啟動時會把BIOS中的內容拷貝到主內存中,對大多數機器來說,啟動速度和運行速度都會加快。
System BIOS Cacheable-當設為Enabled時,在必要時系統會把BIOS中的內容備份到L2緩存中,加快BIOS的運行速度,效果比Shadow System BIOS還要好。當Shadow System BIOS也設為Enabled時,效果最佳。
注冊表修改
在注冊表中有若干個關于內存的設置,但在修改時要注意,因為稍有錯誤就會導致系統崩潰。所以在修改前要把注冊表作一個備份,以備在出現問題是恢復。
首先在注冊表中找到[HKLM/System/CurrentControlSet/Control/Session Manager/Memory Management],然后你會發現下面幾個選項:
DisableExecutivePaging -設為Enabled時, Windows 2000在運行可執行文件時不用硬盤上的交換文件,這樣操作系統和文件執行的速度會更快。但我們推薦只有在系統內存大于128MB時,才將它設為Enabled,因為它也要占用一定的系統資源。在默認狀態下,它的值為0(Disabled),如果要設為Enabled就將它設為1。
LargeSystemCache -當它設為Enabled時(服務器版的Windows 2000默認設置為Enabled),系統會把除了4MB(作為硬盤緩存)以外的所有內存都用作文件系統的緩存。Windows 2000會把自己的內核放到內存中,這樣運行起來就更快。這項設置是動態的,如果在某些情況下硬盤需要更多的緩存,系統會釋放一些內存給硬盤作緩存。在默認情況下有8MB內存是留作此用途的。
此項設置的主要好處就是可以使操作系統運行得更快,并且它還是動態的,當內存需求不大時,Windows 2000的內核就駐留內存;如果運行多個程序需要大量內存,Windows 2000會把它的內核從內存中釋放出來。0表示Disabled,1表示Enabled。不過如果把它設為Enabled,系統會占用更多的內存,在一些任務很密集的情況下,系統性能會下降。根據Micorsoft的說法,對那些自己進行緩存的應用程序如Microsoft SQL,和需要大量內存才能得到最好性能的程序如IIS來說,此項設置最好設為0。
IOPageLockLimit -這項設置主要是服務器應用。如果設置合理,在進行大數據量的文件傳送和類似的操作時,可以提升系統的I/O性能。但是如果系統內存不足128MB,那么這項設置不會有任何作用。如果系統內存超過128MB,可以把它設為8-16MB,性能的提升會比較明顯。默認值是0.5 MB( 512 KB),在設置時要注意它是以字節數表示的,0.5MB為0.5×1024×1024=524288字節。在修改時,多設幾個值試一試,以得到最佳效果。
禁止啟動時運行程序
禁止啟動時運行一些不必要的程序可以少占用一些內存。在Windows 2000中禁止啟動時運行程序不像Windows 9x/Me中那樣簡單,必須要修改注冊表。注冊表中相關的項為[HLKMSOFTWAREMICROSOFTWINDOWSCURRENTVERSIONRUN]。找到之后,就可以進行修改了。不過還是要先做好備份,以防出現錯誤。
性能選項
還有其它一些不需要修改注冊表的方法可以優化Windows 2000,其中有一個就是應用程序反應時間(Application Response),這項設置決定前臺程序是否比后臺程序占用更多的處理器時間。在系統控制面板的高級頁面(Advanced Tab)中選擇性能優化(Optimize Performance)項,你就能找到應用程序反應時間(Application Response)設置。Application Response有兩個值:一是前臺程序優化(Optimize Performance for Applications);一是后臺程序優化(Optimize Performance for Background Services)。如果選擇前者,那么前臺程序就會得到更多的處理器時間;如果選擇后者,后臺程序會得到更多的處理器時間,系統會根據后臺程序的優先級(Priority level)給它們分配不同長度的處理器時間。
每個程序都有一個優先級,系統會根據不同程序的優先級來決定哪個程序更重要,需要先執行并分配更多的運行時間。程序的優先級由兩部分組成:一是優先級類別(Priority Class)包括Real-Time, High, Normal, Idle四個值;二是線程優先級(Thread Priority)包括Time Critical, Highest, Above Normal, Below Normal, Lowest,Idle六個值。如下表所示:
Priority Class
Thread Priority
Real-Time
High
Normal
Idle
Time Critical
31
15
15
15
Highest
26
15
10
6
Above Normal
25
14
9
5
Normal
24
13
8
4
Below Normal
23
12
7
3
Lowest
22
11
6
2
Idle
16
1
1
1
刪除POSIX 和 OS2支持
在微軟的操作系統中都有對POSIX的支持,POSIX是一個多操作系統協同工作的標準;同樣OS2支持是為了運行OS2上的應用程序。如果你的機器中沒有別的操作系統,那這些東西根本就用不著,把這些東西刪除可以節約一些內存。Microsoft沒有提供屏蔽這些功能的方法,不過沒有關系,首先去除Windows的文件保護(這部分的內容會在稍后的文章中介紹),找到winnt/system32目錄,把OS2.exe,OS2SRV.exe,PSXSS.EXE,OS2SS.exe和 POSIX.exe這幾個文件刪除,就OK了。不過為謹慎起見,首先把這些文件改個名字,運行沒有問題后,再刪除它們。
一般來說把這些文件刪除掉不會有任何問題,但在Windows 2000的資源包里的一些工具需要POSIX才能運行,這一點要注意。
刪除無用的Windows組件
在安裝Windows 2000時,安裝程序沒有很大的靈活性,有些不想要的東西也給你裝上去了;或者是初次使用Windows 2000,不知道哪些有用,哪些沒用,先一咕腦兒全裝上去,等熟悉之后再把一些沒有的組件刪除掉,釋放更多的系統資源。下面就給大家介紹一個可以打開幾個隱藏選項的方法。用記事本打開sysoc.inf文件(在winnt/inf目錄下),你會看到有幾條以'HIDE'開頭的命令,把'HIDE'刪掉(注意不要把逗號也刪掉了),保存退出重新啟動系統,打開控制面板中的添加/刪除程序,選擇Windows安裝程序欄,你就會發現比原來多了幾個選項。
堆棧壓縮
堆棧壓縮也叫做內存碎片整理,在Win9x中早有應用。Windows 2000對內存的管理和Win9x完全不一樣,這個操作有沒有效還是個問題。不過不管怎么樣我們還是介紹一下,內存碎片整理實際上是系統把主內存中所有的數據都搗到硬盤的交換文件上,然后重新把數據裝入內存;從計算角度來看,這個過程叫做堆棧壓縮或者叫垃圾清理。這個操作可以用一個很小的VB程序完成,具體做法是用記事本新建一個文件,輸入一行:Mystring = Space(16000000),把它存為后綴.vbs的文件。假設在你的機器上已經安裝了VB運行庫(Windows 2000默認安裝),當你運行這個程序,它會把系統內存'沖刷'一新。在運行完一些有內存'空洞'的程序之后(所謂內存'空洞'是指程序在運行完畢之后,還有一部分內存沒有釋放,不能被其它的程序使用,就好像內存中有個洞一樣),運行這個程序特別有用,它可以釋放那部分'空洞'內存。如果你的系統內存很大,可以把上面那條語句括號中的數值設大一點,清理內存'空洞'的效果會更好一點。