1. 程式人生 > >利用大記憶體提高磁碟效能

利用大記憶體提高磁碟效能

前兩天在學校的科協實驗室突發奇想:

我的電腦配置是這樣的:

這臺電腦是大約2年前剛剛上大學時買的,當時因為打算玩遊戲,配置方面還算過得去吧,但畢竟兩年過去了,硬碟的效能已經下降的不成樣子了,尤其是我用來作為非系統盤的一塊750G的機械硬碟,4K隨機速度竟然連1M/s都不到了。。。

於是我打起了記憶體的注意。。。

就現在的電腦程式來看,8GB記憶體已經可以滿足絕大部分應用的需要了(現在是2015年,以後肯定不一樣),16G的記憶體大部分時間都會浪費一大半,讓我們來個物盡其用吧大笑

方法一:

原理:首先記憶體是可以通過軟體虛擬為一個磁碟,這個虛擬磁碟可以作為 電腦臨時檔案,IE歷史檔案,各種瀏覽器及軟體 的快取位置,因為虛擬磁碟實際上是記憶體,它的速度快,這樣可以提高一小部分電腦效能。

注意:通過記憶體虛擬出的磁碟速度快,但斷電時裡面存放的內容會丟失,所以只能用來存放一些臨時性的,不重要的,即時丟失也沒有關係的檔案!

操作:下載軟媒魔方,【功能大全】→【記憶體盤】→【建立記憶體盤】→見到如下介面

建立新的記憶體盤,我給自己的記憶體盤分了4個G。。。把開機自動載入記憶體盤的對勾打上,把關機時儲存記憶體盤資料的對勾關閉!!!如果不關閉這個選項,系統的開關機速度會變的奇慢無比!然後確定就好。之後的工作就應該是去百度系統快取ie快取,其他常用的瀏覽器快取,把他們的目錄改到新出現的虛擬磁碟上了。

方法二:

原理:同樣是將記憶體虛擬為一個磁碟,不同的是它會攔截系統發往硬碟的讀寫指令。

對於讀取檔案:提前從硬碟讀取可能會讀取的檔案到記憶體中,當系統要用到它時直接呼叫已經預讀到記憶體中的檔案,提高讀取速度,並通過讀取頻率等相關演算法提高預讀到記憶體中的檔案被系統需要的頻率(命中率)。

對於寫入檔案:先把要寫入的檔案儲存在記憶體中,直接通知系統寫入完成,然後在後臺慢慢寫入磁碟。

這時在計算機看來,所有的讀寫操作是在硬碟中高速完成了,實際上資料是在記憶體中直接使用的,可能還未存入磁碟。

這種方式要比方法一好得多了,它不會限制使用場景,許多非臨時性資料也可以用到它。但對於要求資料安全性的磁碟,就不要開啟延緩寫入的功能,以免突然斷電導致資料丟失。

操作:下載 PrimoCache,點左上角的【create a new cache task】,選擇要加速的磁碟點下一步,在這裡你,如果是機械硬碟,選Read&Write,如果是ssd,選Read(SSD Cache Only),選好了就點下一步,出現如下介面:

左面設定快取大小,我的設定了4個G,右面的Bolck Size越小越好,但越小的值會增加記憶體開銷與cpu開銷,下面的對勾就是延時寫入了,時間越大可以延後寫入的時間越長,更能發揮出更好的效能,但也帶來了資料因斷電丟失的可能,我考慮到我使用的是筆記本,不會輕易斷電,也沒什麼特別重要的資料,設定了300秒。點【start】就完成了。

尾巴:在我看來任何大於4GB記憶體的電腦上都應該使用方法二來提高磁碟效能,因為在現階段,記憶體大小不大會成為計算機效能的瓶頸,而磁碟是。身邊許多人因為把機械硬碟換成固態硬碟,大幅度提高了計算機效能。而如果你有一個比較大的記憶體,把它當做硬碟的快取是一個好主意。在PrimoCache中甚至還提供了把固態硬碟作為機械硬碟的二級快取功能,但在我看來,這種方法得不償失,至少在今天(2015年),固態硬碟的壽命有限且價格較高,也許N年後,它的價格大幅度下降就可以了。

這是使用方法二後得到的測速圖:

4K隨機直接從當初的0.幾變成了1K+,但這份資料並不可信(實際上讀的是記憶體嘛),實際使用中提升不會這麼恐怖,但也相當明顯,尤其是第二次開啟某個軟體時,效果更好。

最近在玩Gta5,60多G的資料我也是醉了,用了這種方式,開啟速度提升很明顯。

PS:方法一中的軟體是免費的,提供了許許多多的小功能,很實用,但作為記憶體盤來說應用場景太少了。方法二中的軟體是收費的,功能單一,但真心好用,200RMB起售,可以試用90天。