快訊

流言終結(jié)者二 Win8還需要ReadyBoost么?

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

三、科普篇:ReadyBoost技術(shù)原理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Win8閃存預(yù)讀技術(shù)解讀
圖14 隨后的軟件啟動,系統(tǒng)會直接從U盤的ReadyBoost文件中讀。ㄒ娪覉D綠線)

寫在最后

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

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

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

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

點(diǎn)擊進(jìn)入Windows 8專區(qū)
點(diǎn)擊進(jìn)入Windows 8專區(qū)

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