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

2021-07-02 04:09:01 字數 1534 閱讀 2794

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

我的電腦配置是這樣的:

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

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

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

方法一:

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

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

方法二:

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

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

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

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

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

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

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

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

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

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

利用 Ordered 提高查詢效能

消耗在準備利用oracle執行計畫機制提高查詢效能新的sql語句的時間是oracle sql語句執行時間的最重要的組成部分。但是通過理解oracle內部產生執行計畫的機制,你能夠控制oracle花費在評估連線順序的時間數量,並且能在大體上提高查詢效能。準備執行sql語句 當sql語句進入oracle...

大記憶體筆記本如何提公升效能

本文適用於大記憶體 ram 4gb。單純的64位 win7 4gb記憶體並不能很好的發揮硬體的效能,尤其是在平時只是用來上網 打遊戲 看電影 受電腦報啟發,把記憶體設定成磁碟快取,能有效的提公升磁碟效能。使用fancycache.disk,開啟後設定磁碟快取大小,啟動即可。如果記憶體夠大,磁碟快取相...

利用快取讀取檔案提高效能

前段時間寫了個程式需要對檔案進行讀取操作,一開始使用最普通的寫法 filereader in new filereader e a.html bufferedreader br new bufferedreader in string string str while string br.readl...