關(guān)向東
[摘要]當(dāng)前,如何有效進(jìn)行內(nèi)存分配和釋放,防止內(nèi)存泄露的問題變得越來越突出。從優(yōu)化計算機(jī)內(nèi)存入手,使用戶能夠最大可能的提高計算機(jī)的性能。
[關(guān)鍵詞]物理內(nèi)存 虛擬內(nèi)存 設(shè)置 優(yōu)化
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0120019-01
一、引言
隨著計算機(jī)應(yīng)用需求的日益增加,應(yīng)用程序的設(shè)計與開發(fā)也相應(yīng)的日趨復(fù)雜,開發(fā)人員在程序?qū)崿F(xiàn)的過程中處理的變量也大量增加,如何有效進(jìn)行內(nèi)存分配和釋放,防止內(nèi)存泄露的問題變得越來越突出。本文從計算機(jī)內(nèi)存的合理應(yīng)用入手,使用戶能夠最大可能的提高計算機(jī)的性能。
二、內(nèi)存的分類
計算機(jī)內(nèi)存一般分為物理內(nèi)存和虛擬內(nèi)存。物理內(nèi)存就是我們常說的計算機(jī)內(nèi)存,也就是計算機(jī)內(nèi)存條。它是計算機(jī)運(yùn)行中臨時存放數(shù)據(jù)信息拷貝的場所,作為隨機(jī)存儲器,它需要快速更新,無法長期保存其中的信息。Windows是一個多任務(wù)的操作系統(tǒng),可以同時運(yùn)行多個程序。運(yùn)行中的應(yīng)用程序?qū)?nèi)存的要求是隨機(jī)變化的,windows對內(nèi)存的要求也是隨機(jī)變化的。如果執(zhí)行的程序很大或很多,就會導(dǎo)致內(nèi)存消耗殆盡。為了解決這個問題,Windows中運(yùn)用了虛擬內(nèi)存技術(shù),即拿出一部分硬盤空間來充當(dāng)內(nèi)存使用,當(dāng)內(nèi)存占用完時,電腦就會自動調(diào)用硬盤來充當(dāng)內(nèi)存,以緩解內(nèi)存的緊張。
三、內(nèi)存的優(yōu)化
每一個使用計算機(jī)的人都希望計算機(jī)的運(yùn)行速度越來越快,對內(nèi)存進(jìn)行優(yōu)化管理,即為實現(xiàn)這一個目標(biāo)的有效手段。因為計算機(jī)的硬件配置和應(yīng)用程序的運(yùn)行需求已定,所以,對內(nèi)存進(jìn)行優(yōu)化的方法主要是節(jié)省系統(tǒng)及應(yīng)用程序?qū)?nèi)存的無效要求。
(一)物理內(nèi)存優(yōu)化,減少不必要的內(nèi)存占用
1.系統(tǒng)在運(yùn)行過程中會產(chǎn)生大量的垃圾碎片,定期的釋放內(nèi)存,以提高內(nèi)存的利用率。在windows 2000中單擊【開始】-【運(yùn)行】選項,在命令行中鍵入clipboard后按回車??梢源蜷_剪切板,釋放剪切板占用內(nèi)存。
2.系統(tǒng)運(yùn)行中,桌面占用內(nèi)存,可在控制面板中將墻紙設(shè)置為空,桌面要清潔,不要放太多東西。
3.出現(xiàn)在啟動標(biāo)簽中的可要可不要的東西關(guān)閉。
4.關(guān)閉windows的動畫。
5.必要時關(guān)閉active desktop。
6.刪除多余的系統(tǒng)圖標(biāo)及dll文件。
7.關(guān)閉一些應(yīng)用程序的自動監(jiān)測功能。
(二)虛擬內(nèi)存的設(shè)置
Windows中所有的應(yīng)用程序競爭使用物理內(nèi)存。在物理內(nèi)存容量有限的計算機(jī)系統(tǒng)中,這些內(nèi)存會很快用完,這時windows就要將最近很少使用的內(nèi)存數(shù)據(jù)保存到硬盤中的一個虛擬內(nèi)存文件中去,也就是用硬盤空間來模擬內(nèi)存,以便騰出一些物理內(nèi)存供新的應(yīng)用程序使用。當(dāng)系統(tǒng)需要這些數(shù)據(jù)時,物理內(nèi)存再從硬盤的虛擬內(nèi)存中讀取這些數(shù)據(jù)。Windows的虛擬內(nèi)存沒有大小限制,只是受虛擬內(nèi)存所在硬盤分區(qū)的剩余空間大小的限制,在默認(rèn)狀態(tài)下,是讓系統(tǒng)管理虛擬內(nèi)存的,但是系統(tǒng)默認(rèn)設(shè)置的管理方式通常比較保守,在自動調(diào)節(jié)時會造成頁面文件不連續(xù),而降低讀寫效率,工作效率就顯得不高,于是經(jīng)常會出現(xiàn)“內(nèi)存不足”這樣的提示,下面就讓我們自己動手來設(shè)置它吧。
1.用右鍵點擊桌面上的“我的電腦”圖標(biāo),在出現(xiàn)的右鍵菜單中選擇“屬性”選項打開“系統(tǒng)屬性”窗口。在窗口中點擊“高級”選項卡,出現(xiàn)高級設(shè)置的對話框;
2.點擊“性能”區(qū)域的“設(shè)置”按鈕,在出現(xiàn)的“性能選項”窗口中選擇“高級”選項卡,打開其對話框;
3.在該對話框中可看到關(guān)干虛擬內(nèi)存的區(qū)域,點擊“更改”按鈕進(jìn)入“虛擬內(nèi)存”的設(shè)置窗口。選擇一個有較大空閑容量的分區(qū),勾選“自定義大小”前的復(fù)選框,將具體數(shù)值填入“初始大小”、“最大值”欄中,而后依次點擊“設(shè)置確定”按鈕即可,最后重新啟動計算機(jī)使虛擬內(nèi)存設(shè)置生效。
四、量身定制適合自己的虛擬內(nèi)存
(一)普通設(shè)置法
根據(jù)一般的設(shè)置方法,虛擬內(nèi)存交換文件最小值、最大值同時都可設(shè)為內(nèi)存容量的1.5倍,但如果內(nèi)存本身容量比較大,比如內(nèi)存是512MB,那么它占用的空間也是很可觀的。所以我們可以這樣設(shè)定虛擬內(nèi)存的基本數(shù)值:內(nèi)存容量在256MB以下,就設(shè)置為1.5倍;在512MB以上,設(shè)置為內(nèi)存容量的一半。介于256MB與512MB之間的設(shè)為與內(nèi)存容量相同值。
(二)精準(zhǔn)設(shè)置法
由于每個人實際操作的應(yīng)用程序不可能一樣,比如有些人要運(yùn)行3DMAX、Photoshop等這樣的大型程序,而有些人可能只是打打字、玩些小游戲,所以對虛擬內(nèi)存的要求并不相同,于是我們就要因地制宜地精確設(shè)置虛擬內(nèi)存空間的數(shù)值。
1.先將虛擬內(nèi)存自定義的“初始大小”、“最大值”設(shè)為兩個相同的數(shù)值,比如500MB;
2.然后依次打開“控制面板→管理工具→性能”,在出現(xiàn)的“性能”對話框中,展開左側(cè)欄目中的“性能日志和警報”,選中其下的“計數(shù)器日志”,在右側(cè)欄目中空白處點擊右鍵,選擇右鍵菜單中的“新建日志設(shè)置”選項;
3.在彈出的對話框“名稱”一欄中填入任意名稱,比如“虛擬內(nèi)存測試”。在出現(xiàn)窗口中點擊“添加計數(shù)器”按鈕進(jìn)入下一個窗口;
4.在該窗口中打開“性能對象”的下拉列表,選擇其中的“Paging File”,勾選“從列表中選擇計數(shù)器”,并在下方的欄目中選擇“%Usage Peak”,勾選“從列表中選擇范例”,在下方的欄目中選擇“_Total”,再依次點擊“添加→關(guān)閉”結(jié)束;
5.為了能方便查看日志文件,可打開“日志文件”選項卡,將“日志文件類型”選擇為“文本文件”,最后點擊“確定”按鈕即可返回到“性能”主界面;
6.在右側(cè)欄目中可以發(fā)現(xiàn)多了一個“虛擬內(nèi)存測試”項目,如果該項目為紅色則說明還沒有啟動,點擊該項,選擇右鍵菜單中的“啟動”選項即可;
7.接下來運(yùn)行自己常用的一些應(yīng)用程序,運(yùn)行一段時間后,進(jìn)入日志文件所在的系統(tǒng)分區(qū)下默認(rèn)目錄“PerfLogs”,找到“虛擬內(nèi)存測試_000001.csv”并用記事本程序打開它,在該內(nèi)容中,我們查看每一欄中倒數(shù)第二項數(shù)值,這個數(shù)值是虛擬內(nèi)存的使用比率,找到這項數(shù)值的最大值,比如圖中的“46”,用46%乘以500MB(前面所設(shè)定的虛擬內(nèi)存數(shù)值),得出數(shù)值為230MB??梢杂迷摂?shù)值定義虛擬內(nèi)存初始大小,而最大值可以根據(jù)磁盤空間大小自由設(shè)定,一般建議將它設(shè)置為最小值的2到3倍;
8.這樣我們就可以將虛擬內(nèi)存打造得更精準(zhǔn),使自己的愛機(jī)運(yùn)行得更加流暢、更具效率了。
參考文獻(xiàn):
[1]靶子,電腦經(jīng)常提示“虛擬內(nèi)存不足”的原因[J].網(wǎng)絡(luò)與信息,2008.(5).
[2]新新,無需工具使用自帶功能輕松優(yōu)化windows XP[J].網(wǎng)絡(luò)與信息,2007.(7).
[3]百達(dá)通,解決Windows內(nèi)存不足的方法[J].電腦知識與技術(shù)(經(jīng)驗技巧),2007.(5).