快訊

流言終結者二 Win8還需要ReadyBoost么?

2012-10-09 16:07  出處:pconline 原創(chuàng)  作者:唐山居人[專欄]   責任編輯:caoweiye 

三、科普篇:ReadyBoost技術原理

  很多人都認為ReadyBoost是直接加大內(nèi)存空間,其實不然,這項技術是與Windows的另一項特性Prefetch相輔相成。簡單來說Prefetch(文件預讀取,Vista之后升級為“SuperPrefetch”)是微軟在XP中加入的一項文件緩沖機制,能夠通過分析用戶使用習慣將部分文件預先調(diào)入內(nèi)存。

  好處是當用戶真的點擊這些程序時,這些預讀好的數(shù)據(jù)能夠直接從內(nèi)存中讀取,由于內(nèi)存與硬盤間的巨大差速,實際使用中Prefetch的確可以讓程序啟動變快。

  不過正是由于Prefetch(或SuperPrefetch)的這項原理,當物理內(nèi)存過小而無法滿足Windows需要時(Vista剛發(fā)布時普遍都是512MB內(nèi)存),SuperPrefetch反而會成為系統(tǒng)的“絆腳石”,與系統(tǒng)爭搶原本就不多的內(nèi)存空間。

Win8閃存預讀技術解讀
圖9 這里的“已緩存”即是SuperPrefetch

  在這種情況下ReadyBoost應運而生,它的核心理念就是將系統(tǒng)預讀文件直接轉(zhuǎn)移至U盤(實際上是硬盤與U盤并存一份緩存,優(yōu)先讀取U盤,這樣當U盤拔出或失效時,還能轉(zhuǎn)回硬盤不至出現(xiàn)故障),一來可以減輕物理內(nèi)存的空間壓力,二來也好借助U盤本身隨機讀寫快的特性(相對硬盤而言,硬盤只是連續(xù)I/O快,隨機讀寫效率極低)來讓預讀文件更快地讀取。

  但如果物理內(nèi)存已經(jīng)大到足以滿足系統(tǒng)及SuperPrefetch需要時又會怎么樣呢?沒錯!ReadyBoost的效果就不那么明顯了,這也就是為何圖8中內(nèi)存越大差速越小的最終原因(這里還摻雜了Win8硬盤讀取效率提升的因素)。

Win8閃存預讀技術解讀
圖10 隨機讀寫U盤更有優(yōu)勢

  編者按:當ReadyBoost認為U盤內(nèi)緩存比硬盤緩存更能滿足隨機讀取需要時,會直接從U盤內(nèi)隨機讀取數(shù)據(jù)。但如果系統(tǒng)正在有序地訪問數(shù)據(jù),便會自動轉(zhuǎn)回到硬盤讀取,即便數(shù)據(jù)同樣存在于U盤緩存。

  換言之在實際工作中,ReadyBoost的智能化程度還是相當高的,能夠自動選取最適合當前任務的介質(zhì)。

四、實戰(zhàn)篇:你的U盤夠勁兒么?

  通過上面的介紹,相信大家已經(jīng)明白,所謂ReadyBoost其實就是利用U盤隨機讀寫快的特性,將SuperPrefetch轉(zhuǎn)移到自己身上,然后再通過加快預讀文件讀取(相比硬盤來說)提高系統(tǒng)運行速度(其實是軟件啟動的響應時間)。

  那么這里就引發(fā)了一個小問題,即你的U盤一定要足夠快,否則過慢的U盤非但不能縮短程序響應時間,甚至還會成為系統(tǒng)的“拖累”。

  事實上微軟對于ReadyBoost U盤的確存在一個技術要求,即4KB隨機讀取傳輸率2.5MB/s或更高、512KB隨機寫入傳輸率1.75MB/s或更高、接口USB 2.0以上、容量256MB以上。

  而且這些參數(shù)會在用戶開啟ReadyBoost之時自動檢測,只有系統(tǒng)確認U盤不會給自己“拖后腿”時才會允許用戶開啟ReadyBoost。

Win8閃存預讀技術解讀
圖11 Windows驗證合格后才允許用戶開啟ReadyBoost(用戶可自由指定ReadyBoost所占用的空間)

Win8閃存預讀技術解讀
圖12 筆者所用U盤的測試結果(注意4KB和512KB兩者結果)

  通過資源監(jiān)視器我們可以更清楚地看到ReadyBoost的運作,當筆者在電腦中開啟ReadyBoost之后,會發(fā)現(xiàn)瞬間硬盤狂轉(zhuǎn)起來,如果這時打開資源監(jiān)視器,會看到一個進程正在以20MB/s的速度向U盤內(nèi)寫入文件,而這恰恰正是這部U盤的最高寫入速度。

Win8閃存預讀技術解讀
圖13 開啟ReadyBoost后系統(tǒng)以20MB/s速度向U盤寫入文件(見右圖藍線)

  整個過程約會持續(xù)5分鐘,之后高強度寫入沒有了(偶爾還是有的,因為ReadyBoost要不斷更新數(shù)據(jù)),取而代之的則是啟動軟件后的瞬間高速讀取,換言之此時操作系統(tǒng)已經(jīng)轉(zhuǎn)而使用U盤讀取預讀文件,ReadyBoost正式生效!

Win8閃存預讀技術解讀
圖14 隨后的軟件啟動,系統(tǒng)會直接從U盤的ReadyBoost文件中讀取(見右圖綠線)

寫在最后

  總體來說,ReadyBoost僅僅是一項利用U盤存儲預讀文件(Prefetch)的技術,并非直接加大物理內(nèi)存。只有當物理內(nèi)存無法滿足Windows需要,或者預讀系統(tǒng)性能不佳的情況下,它才會顯示一定的效果。

  而且它所加速的其實只是Win8的SuperPrefetch模塊,并非直接作用于程序本身,因此使用該功能必須要同時開啟SuperFetch。

  也就是說ReadyBoost更適合那些物理內(nèi)存小、內(nèi)存槽已滿無法升級,以及內(nèi)存過時不易買到的用戶,如果物理內(nèi)存大于或等于2GB,在目前條件下ReadyBoost產(chǎn)生的效果將微乎其微!

點擊進入Windows 8中國發(fā)布會直播專題
點擊進入Windows 8發(fā)布會現(xiàn)場直播專題

點擊進入Windows 8專區(qū)
點擊進入Windows 8專區(qū)

鍵盤也能翻頁,試試“← →”鍵
IT熱詞搜索 來源:360新聞
軟件論壇帖子排行