文章來源:Windows & .NET Magazine, April 2004作者:Mark Russinovich能夠重組記憶體並增進效能的工具 乍聽之下似乎不錯 記憶體最佳化的鬧劇 --- RAM 最佳化工具的不實承諾 - 趣味新聞網
發表日期 2008-02-27T11:32:04+08:00
趣味新聞網記者特別報導 : 文章來源:Windows & .NET Magazine, April 2004作者:Mark Russinovich能夠重組記憶體並增進效能的工具,乍聽之下似乎不錯,但真是如此嗎?本文帶你一探記憶體 .....
文章來源:Windows & .NET Magazine, April 2004
作者:Mark Russinovich
能夠重組記憶體並增進效能的工具,乍聽之下似乎不錯,但真是如此嗎?本文帶你一探記憶體最佳化工具的真章。
當您瀏覽網頁的時候,你有時候可能會看到瀏覽器跳齣像是「重組你的記憶體並且增進效能」,另外還有像是「減少應用程式與係統的失敗,並且釋放沒有使用的記憶體」。如果你按下滑鼠,連結到廣告所提供的工具網站,你就會看到隻要多付 9.95 美元、14.95 美元或 29.95 美元,就可以提供你達到這個目的的工具。聽起來似乎還不錯?這些工具似乎看起來可以替你做一些有用的工作,但其中的記憶體最佳化工具是沒有效果的,且更糟的是,可能會嚴重地影響效能。
你可以找到好幾十種所謂的「記憶體最佳化工具」,有些是商業軟體,有些則是一些免費軟體。你可能會想在自己的係統上執行像是這樣的産品,這些産品真正能做什麼?而這些産品是否愚弄瞭你,讓你相信産品所聲稱的效果?本文就讓我們深入的剖析記憶體最佳化工具的內部,看這些工具是如何控製 Windows 內部的可見記憶體計算。
@小標 記憶體最佳化工具的使用者介麵
記憶體最佳化工具一般所提供的使用者介麵,可以顯示可用記憶體的圖形顯示,以及以綫條呈現閥值,如果記憶體低於該閥值,工具就會採取動作。另外一個綫條則顯示最佳化工具在執行的時候,嘗試釋放的記憶體數量。通常你可以設定其中一個或是兩者的等級;使用手動的方式啓動記憶體最佳化或是使用排程的方式執行最佳化。某些工具則還可以顯示執行於係統上的處理程序。
當排程好的最佳化工作執行的時候,工具的可用記憶體計數器通常會往上爬升,有時候這個數字會大幅增加,讓使用者感覺這個工具實際上釋放瞭許多記憶體可以讓你的應用程式執行。為瞭瞭解這些工具實際上是如何讓可用記憶體上升的,我們必須先瞭解 Windows 管理實體記憶體的方式。
@小標 Windows 記憶體管理
與大部分目前的作業係統類似,Windows 採用瞭根據需求而規劃的頁次虛擬記憶體係統。作業係統使用虛擬記憶體提供應用程式一個假象,就是電腦擁有比實體記憶體更多記憶體。
在 32 位元的 Windows 係統上,處理程序可以定址虛擬記憶體達到 4GB,作業係統會在處理程序和係統之間平均的分配。因此,根據使用的量,處理程序可以配置達到 2GB 的虛擬記憶體。配置給所有處理程序的所有虛擬記憶體,不可以超過係統頁次檔案以及其大部分實體記憶體的總量(作業係統保留相當小部份的實體記憶體)。
因此針對處理程序,隻要有足夠的頁次檔案,可以配置超過電腦實體記憶體能力的虛擬記憶體,Windows 記憶體管理員子係統必須在處理程序之間與快取管理員的快取檔案資料分享實體記憶體。記憶體管理員指定給每個處理程序(例如 Microsoft Word、記事本、檔案總管)一部分的實體記憶體,我們稱之為處理程序的工作集。Kernel 和驅動程式可以使用頁次的部分,除瞭可以使用頁次的 Kernel,記憶體緩衝區之外的部分,我們稱之為頁次集區。由快取管理員管理的實體記憶體,會指定他們自己的工作集,稱之為係統工作集。
記憶體管理員可以擴充和縮減係統和處理程序的工作集,以迴應處理程序快速存取他們的程式碼和資料的需求。電腦的記憶體管理硬體,需要 Windows 管理工作集和虛擬記憶體以頁次大小區塊的方式管理(在 32 位元的 x86 處理器,頁次的大小一般是 4096 位元組,然而,作業係統和需要耗用大量記憶體的應用程式,當有可能的時候,也使用單位比較大的 4MB 頁次作為最佳化選擇)。
當處理程序存取不存在於工作集的虛擬記憶體的頁次時,處理程序會産生頁次錯誤硬體例外情況。當發生這種情況的時候,記憶體管理員會指定可以使用的實體記憶體指定頁次,以儲存新存取的資料。另外,記憶體管理員可能會決定藉由增加頁次到工作集中,擴充處理程序的工作集。然而,如果記憶體管理員需要處理程序的工作集夠大,就會使用新的頁次與已經存在於工作集的頁次進行交換,選擇取代處理程序最近所存取的頁次,這是假設處理程序最近不太可能會存取該頁次。
當記憶體管理員從處理程序工作清單移除頁次的時候,必須決定要對頁次做什麼事情。如果頁次已經修改瞭,記憶體管理員會先放置到修改的頁次清單,頁次的清單最後會寫到頁次檔案,或是到網頁所對應的記憶體對應檔案中。從被修改的頁次清單中,記憶體管理員會挪動頁次到名稱為待命清單的集區。沒有修改過的頁次,則會直接到待命清單中。因此,你可以將待命清單當成是資料的快取。
@小標 可以使用的記憶體
我們之前提到記憶體管理員會提供可以使用的實體記憶體頁次,給産生頁次錯誤的處理程序,但是我們還沒有說明如何定義可用的記憶體。待命清單是記憶體管理員認為是實體記憶體的一部分。其他成為可用記憶體的集區,是包含屬於配置虛擬記憶體資料的頁次(例如:包含已經離開處理程序的),另外還有已經清空,以及後續被記憶體管理員的低優先性空頁次執行緒所填入的空資料。這些類型的頁次,會分彆儲存在記憶體管理員的可用清單和空頁次清單。
圖 2 顯示瞭發生在工作集和頁次清單之間的轉換。每一秒的時候,係統執行緒會啓動,然後呼叫記憶體管理員的工作集管理員,檢查係統和處理程序的工作集。如果可用記憶體偏低,工作集管理員會從處理程序移除在過去一秒還沒有産生的許多頁次錯誤。被移除的頁次會到被修改或待命清單中,以準備提供於可用記憶體。這種調校機製有個重要的副作用,如果係統需要提供其他處理程序記憶體,記憶體管理員就會從閑置處理程序的工作集取得頁次。這樣一來,那些處理程序的工作集最後就會消失,也就是說那些處於閑置狀況的處理程序,如果閑置時間過長,最後會沒有實體記憶體可以使用。
當處理程序需要有新的實體記憶體頁次的時候,記憶體管理員會先判斷所存取的處理程序頁次是否位於待命或修改的頁次清單。如果頁次從處理程序工作集移除,並且基於其他的目的沒有重復使用,頁次就會在這些清單中。將頁次放迴到處理程序工作集,我們稱之為軟頁次錯誤,因為與硬頁次錯誤不同的是,並不會産生從磁碟讀取頁次檔案或是其他的檔案。
如果頁次不在待命清單,或是在修改的頁次清單中,記憶體管理員就會從已經有頁次的清單取得頁次,首先檢查可用的清單,然後是空頁次清單,最後則是待命清單。如果沒有記憶體可以取得,記憶體管理員就會觸發「平衡集管理員」,進行處理程序工作集的整理,並且産生三個清單的其中之一,以取得可以使用的記憶體。如果記憶體管理員必須從空頁次、可用或待命清單移除頁次以供重復使用,則決定於如何存取目標的程式碼或資料,其中包括瞭從頁次檔案讀取資料或可執行檔映像內容,或是建立空資料(如果應用程式配置瞭新的資料,而頁次並不是從空頁次清單取得)。
@小標 建立可用記憶體
在瞭解瞭記憶體管理員的行為之後,我們現在可以將注意力放到記憶體最佳化程式的工作上。記憶體最佳化程式所顯示的可用記憶體數據,與在工作管理員中,「效能」頁次的「實體記憶體」可用部分的值是一樣的。這個值是待命、零頁次與可用清單的總和。係統快取記憶體則是待命清單和係統工作集的總和(在 Windows NT 4.0 以及之前的版本,檔案快取的值隻反應瞭係統工作集)。
記憶體最佳化工具藉由配置,然後釋放大量的虛擬記憶體,應用瞭記憶體管理員行為的優點。圖 4 顯示瞭記憶體最佳化工具在係統上的産生的效果。第一列顯示瞭在最佳化前的工作集與可用記憶體。第二列顯示瞭記憶體最佳化工具,藉由在短時間中增加許多的頁次錯誤,建立瞭高記憶體需求。為瞭迴應這樣的需求,記憶體管理員增加瞭最佳化器的工作集。這個工作集的擴充發生在可用記憶體的耗用(當可用記憶體變低),使用瞭其他處理程序工作集的耗用。第三列顯示瞭在記憶體最佳化程式釋放記憶體之後的情況,記憶體管理員會移動所有指定給記憶體最佳化工具的所有頁次到可用清單,因此可以增高可用記憶體的值。大部分的最佳化器隱藏瞭在第一個步驟的時候可用記憶體快速降低的事實,但是如果你在最佳化的時候執行工作管理員,你經常可以看到記憶體降低的情況。
雖然取得更多可用記憶體似乎可以獲得效益,但是情況並非如此。由於記憶體最佳化工具強迫升高可用記憶體,因此也就強迫其他處理程序資料和程式碼從記憶體釋齣。假設你正在執行 Word,而最佳化器強迫進行可用記憶體的升高,Word 的開啓文件文字以及程式碼在最佳化之前存在於記憶體中(也就是在實體記憶體中),必須從磁碟再次讀取,你纔能繼續編輯文件。效能的降低會對伺服器造成影響,因為在待命清單以及在係統工作集中快取的檔案資料(另外還有被活動中的伺服器應用程式所使用的程式碼和資料),可能都會清除。
@小標 其他記憶體最佳化工具的宣稱
某些廠商會針對他們的記憶體最佳化工具産品作齣額外的宣稱。像是你可能會看到産品能夠釋放沒有使用的處理程序所佔用的記憶體(如那些在工作列中執行的程式)。所有的這些宣稱都是不真實的,因為 Windows 會自動的清除閑置處理程序的工作集。記憶體管理員會控製所有必要的記憶體最佳化。
記憶體最佳化工具的開發人員也會宣稱他們的産品能夠對記憶體進行重組。配置的動作會釋放大量的虛擬記憶體,産生可能的副作用,進而産生連續的可用記憶體區塊。然而因為虛擬記憶體是從處理程序配置實體記憶體,處理程序無法直接從擁有虛擬記憶體獲得好處,雖然後麵是連續的實體記憶體。隨著處理程序的執行及底下工作集的減少或成長,他們的虛擬記憶體對實體記憶體對應會成為斷離情況,而不管連續記憶體情況如何。
擁有連續的可用記憶體,可以在一種情況中增進效能:當記憶體管理員最大化 CPU 記憶體快取的行為,會使用稱為「頁次染色」(page coloring)的機製,判斷從可用或空頁次清單的哪個頁次,要指定給處理程序。然而,任何由於連續可用實體記憶體所得到小小效益,可能會由於程式碼與資料從記憶體被迫移齣,而減損所帶來的價值。
最後,廠商通常會宣稱記憶體最佳化工具,可以重新取得記憶體記憶體遺漏的部分。這樣的說法可能所有說法中最大的錯誤。
記憶體管理員不管在任何時候,都知道實體與虛擬記憶體屬於哪個處理程序。然而如果處理程序配置瞭記憶體,可能會由於程式的 Bug 導緻記憶體在使用後沒有釋放的情況(一般稱之為遺漏--leak),記憶體管理員無法確認所配置記憶體不會在相同點被存取,因此會一直等待,直到處理程序結束,並且釋齣其所擁有的記憶體為止。
即是在不會會産生遺漏的處理程序中,記憶體管理員工作集的縮減,最後還是會從處理程序的工作集中,任何指定給遺漏虛擬記憶體的任何實體頁次取得記憶體。該處理程序會傳送遺漏頁次給頁次檔案,並且讓係統使用實體記憶體以供其他處理程序使用。因此,記憶體遺漏隻會對可用實體記憶體産生有限的影響。真正的影響是在虛擬記憶體的耗用上(工作管理員稱之為 PF Usage 和 Commit Charge)。沒有工具可以對虛擬記憶體的耗用做任何事情,除非直接刪除耗用記憶體的處理程序。
@小標 假軟體
我們已經看過記憶體最佳化工具的一些說法。如果你更仔細的研究,你會發現廠商會在網站上加上一句推翻自己長久以來的宣稱—産品可能對係統的效能沒有任何影響,並且也可能會降低係統的效能。即使不知道這些産品是如何應用記憶體管理員的特性,讓記憶體的統計數能上升,一般在常識上我們可以這樣想,若記憶體最佳化工具有效,Microsoft 開發人員應該很早就會直接整閤到 Kernel 部分瞭。
[
本帖最後由 lissam 於 2008-6-24 11:51 編輯
]
|
分享鏈接
tag
相关新聞
設samba 的iptables
自已設iptables 用來阻擋samba
iptables -A INPUT -p tcp --dport 139 -i eth0 -s 192.168.181.0/24 -j REJECT
但是用iptables -L 看
卻顯示這樣的訊息
.......
設定網路上芳鄰,讓你和傢裏其他的電腦成為區域網路
1-首先,傢中每颱電腦的網路識彆必須一緻,可以在桌麵的"我的電腦"圖示上按下滑鼠右鍵,選擇"內容",然後再接下來的對話方塊中選擇"電腦名稱"再來,選擇"變更..."
2-在"電腦名稱"的欄位填入自己想要的名稱,請留意,傢中每颱電腦的電腦名稱必須不同
.......
詢問~~將一串數字的 排序&偏移量的程式~~
要怎麼用C寫 排序的程式阿??
那容如下:
1.reads 4 options: -a ascending sorting, -d descending sorting, and -m calculating the mean deviat.......
詢問三星相機
三星相機 I70有花紋的這颱相機網路上評價好像很少
不知道這颱好不好用
有誰知道能告訴我好嗎?.......
試用結果
ibook AIR 超新款
隻有1.9mm
我以為會粉軟粉易壞
結果
全鋁鎂的結果
又産用女性粉盒的創意
安全又實用
可以跟ibm比瞭 [ 本帖最後由 bloodcafe 於 2008-4-26 09:39 編輯 ].......
該如何把電腦裏的影片放在相機看?
我的相機是T200.嘗試過把影片轉成跟相機一樣的MPEG檔
傳進想機裏麵.都會顯示檔案齣錯..檔名也有更改成MOV00xxx.MPG
一直都沒法成功...
請高手指導..謝謝!!.......
該如何選購數位相機?
我對數位相機來說算菜鳥
真的都不懂
最近想要買壹颱數位相機
有大大或高手能提供資訊或網站
讓小弟能對數位相機能有初步的解?
或是介紹幾款不錯的品牌??
小弟的預算金額在15000~20000元之間
要如何選購 還有哪買比較有保障??.......
該寫什麼程式係統好呢?
這學期修瞭一門 物件導嚮與係統分析的課
老師要求我們做一個平颱,也可以說是一個小係統
有的人要做 網路交友、旅遊資訊、圖書租藉、提供網路空間、網路教學 等等...
我也想瞭一些 但是一些東西都被同學做走瞭
現在不知道該做什麼 題目好,上禮拜.......
該怎麼選擇~
最近想買一颱數位相機 sony 的
預算大概1萬左右
本人不懂相機 請大大們推薦 拜託~.......
該記憶體不能為witten
各位大大好~~
可否請教一下!! 小弟的電腦使永程式軟體時..齣現下列畫麵!!
一直無法開啓...那是齣現什麼問題!!
是否有辦法解決呢? 有勞大大協助睏擾~~謝謝呀!!.......
該買SONY-T200還是SONY-W200
請問各位前輩
我現在用的是富士A310
1.因為快門老是抓不到移動中的鏡頭(快門要快一點)
2.常常因拍照時手振動而模糊(要防手震)
3.閃光燈無快速充電(下一張要等5秒以上)--(有快速充電)
4.塋幕太小(2.5吋以上)
5.廣角太小(最好.......
該買數位單眼還是消費型數位相機好呢?
各位達人好:
小弟本身原有一颱sony p8,最近不知道為什麼拍齣來效果都不好,常有雜訊的感覺
請問
1.聽說ccd有壽命限製,一定時間到,就算很少拍也會壞掉,是嗎?一般壽命是多久
2.小弟本身需求是旅遊時拍人像風景,如果想要再買一颱,該買數位單眼.......
該選擇UV濾光鏡 or 偏光鏡??
因為外拍時 天總是不夠藍 海總是太白
在花蓮這個地方 天不藍 海太白 拍齣來 就是很心痛
因此想裝個濾光鏡或偏光鏡
請問哪一種的效果會比較好哩??? 價錢差瞭一個小朋友哩~~
另外 KENKO 這個牌子的濾鏡 評價如何呢??.......
誠心請教一問題
請問各位大大!
如果進入研究所!
要用那些軟體做研究!
在下是電子固態光電方麵的!
請各位大大可否提供一下!
最好是可以PO一下軟體下載的地方.....等等
謝謝 [ 本帖最後由 young7431 於 2008-5-7 10:08 編輯 ].......
誠心請教各位大大預算1萬到1.5萬元的數位相機買哪台好?
請教各位大大預算1萬到1.5萬元的數位相機買哪颱好?:emo 051: 這次想買一颱輕便型的畫質約800-1000萬畫素:emo 024: 預算一萬到一萬五韆元內 不知各位大大有沒有好的建議讓小弟參考 在此先感謝迴文的各位大大:emo 019: 主要是要拍人物跟風景 要有防手震...小弟手會抖>"< 最好還可以錄影 重點還是要輕便喔 [ 本帖最後由 tnoyove 於 2008-1-12 12:31 編輯 ].......
誤刪[開始]裏麵的[設定]群組捷徑!!
小弟的PPC是MIO A201,作業係統Windows Mobile 5繁體中文版
今天下午使用優化程式,Pocket Mechanic Professional後
可能是選擇清除[檔案係統清理],清掉不開清除的東西
結果[開始]裏麵的[設定]群組捷.......
誰可以幫幫我~我想買相機(女用)
我想要800萬以上的
機身要薄~不要很厚的
然後~記憶卡要便宜的
銀幕最好3.0吋
鏡頭要好~
防手震~可以錄影~
預算1萬左右
女生要用的~麻煩一下~
廠牌就大概Nikon、FUJIFILM、CANON、SONY、Panasonic這幾個.......
誰是真正的係統超級管理員?
Windows XP憑藉極高的安全性和穩定性,贏得瞭廣大用戶的青睞。我們可以通過建立個人帳戶、設定密碼來保護自己的個人隱私,還可以用Administrators (係統管理員)的身份任意設置帳戶,為每一個帳戶設定不同的權限,可以說擁有至高無上的權利,也擁有.......
誰會寫這套程式
各位前輩好
小妹目前遇到一個棘手的問題
公司收發部要求我必須要寫一個係統
架構為xp下的
此係統具有收發的功能..可以依日期查到收文或發文
且編輯好後可按下存檔...
會將資料寫入word檔中...
用vb可寫齣此一功能的收發文軟體嗎
求.......
誰有matlab 試用版 或是誰可以提供載點的
請問一下
誰有matlab 試用版 或是誰可以提供載點的
還有沒有較簡易的繪圖教學網站
和提供方程式的輸入程式語言
( 因為學校在教這個程式語言,需要練習 )
有的麻煩可以提供一下嗎??
非常感謝!!.......
誰有定義襠工具
個位大大誰有定義襠工具?謝謝....無限感激...........
誰能教我修照片...
不知道這個要貼在哪裏..所以貼到這裏來..
我想要修以下照片如何把狗眼睛的綠光修掉
tw.myblog.yahoo.com/jw!EaZ0a.uAREKPZo_7xVg-/photo?pid=32&prev=30.......
調整VR-ONE 的音量
各位大大, 我想請問一下, 請問要怎麼把 VR-ONE 的音量調大呢? 我的PDA安裝之後, 即使我把 VR-ONE的音量調到最大, 還是沒有很大聲, 可是以前 R15 的時候, 音量還蠻大聲的, 請問要怎麼設定纔可以變的比較大聲呢?.......
請介紹我一台數位相機
我的預算大約是14000
因為對數位相機也不是很瞭解
不想想說貴的就是好的
所以隻好來這也求救瞭
我是有看到一颱CASIO EX-Z1200
這一颱順發在賣14000
如果有大大推薦彆颱
也好讓我參考比較一下
謝謝大傢的幫忙.......
請勸小弟敗一台 P2P 寬頻分享器
傢裏的 PC 隻要開瞭 BT 就會在若乾時間後停止 IE/FireFox 或 Skype 的連綫
雜誌上有說這是網路處理晶片沒有處理過多連綫數 (session) 的能力
因熱度高而熱當
請各位推薦一颱 C/P 值高的 P2P 寬頻分享器
牌子大小.......
請協尋: Mac 上麵可以編輯mp3的小程式
各位前輩,請問有沒有什麼免費軟體可以在mac上麵簡單的裁切mp3,
例如像是在xp上麵的mp3 cutter,可以快速擷取要的片段,來用於手機鈴聲。
找瞭很久都沒有找到,麻煩各位前輩提示一下小弟吧,先謝謝您瞭。.......
請各位先進大大幫忙!!
請問各位先進大大們,小妹有一急事相問,是否有轉接頭可將原本由電腦主機接到螢幕的聯接綫轉接到數位攝影機,然後同步將電腦上播放的資料互到攝影機的硬碟或記憶卡中,不勝感激!!! .......
請各位大大來幫幫忙!
我用windows maida player和gom放影片時,有聲音但螢幕卻全變黑!請各位大大幫幫忙吧~我的愛情片都不能看瞭~.......
請各位大大幫我推薦8000元以內的相機!
最近看到燦坤、全國電子在過年促銷,我想買壹颱數位相機,我的第一颱數位相機,主要功能:
1.防手震
2.1000萬畫素以上
3.大尺吋螢幕
4.主要洗齣來的照片畫質好
5.外型好看
因為我以前的傻瓜相機拍的,洗齣來都比數位相機還漂亮
請各位大.......
請各位大大推薦5韆以內的數位相機 !
請各位大大推薦5韆以內的數位相機 !(希望有防手震 可以充電的 我隻懂這2種!!) [ 本帖最後由 毀滅之神 於 2008-2-11 13:15 編輯 ].......
請各位大大推薦一款pda+gps
可以請各位大大推薦一款pda+gps
小弟之前有買 mio p-350 一颱
纔剛過保固期就掛瞭
不知道維修要多少錢
請各位大大推薦一款實用的pda
謝謝.......
請各位大大推薦一款相機^^"
預算大約是10000左右
主要需求是夜拍、近拍貓咪、防手震、防紅眼(拍照新手,功力太淺)
沒有品牌迷思,隻有適閤我的需求就好。
上一個擁有的相機是Panasonic FX01,夜拍的畫質不是很滿意><.......