電腦設NVMe緩存,我發現:多數人其實並不需要
自從固態驅動技術進入市場以來,各公司一直在努力尋找加速計算機其餘任務的方法。我們有 英特爾的傲騰(Optane)、AMD的StoreMI,以及許多爲數據中心打造的競爭技術。
既然已經有這麼多年的歷史了,你可能會認爲,要想讓計算機達到最佳性能,就需要使用NVMe緩存。但實際上,大多數消費級計算機已經在使用NVMe,而且只有當緩存的速度比被緩存的驅動器快的時候,緩存纔有意義。除非你正在運行某種類型的文件服務器,否則可能無需擔心NVMe緩存,可以轉而專注於使用那些高速固態硬盤來存儲文件或者遊戲。
如今,絕大多數計算機,無論是筆記本電腦、臺式機還是遊戲主機,都配備了NVMe存儲。這就使得NVMe緩存成了必然的情況,因爲你的虛擬內存文件和其他緩存將存儲在主驅動器上。其他任何內容都會緩存在內存(RAM)裡,這就是爲什麼Chrome和其他瀏覽器在打開的時候會佔用部分系統資源的原因。
以前的計算機配備的是硬盤而非固態硬盤(SSD),並且有許多緩存解決方案,並非總是現在這種情況。混合硬盤(SSHD)在其驅動器上使用小型NAND緩存來提供SSD緩存。不過,這些方案的壽命很短,因爲它們存在NAND或控制器快速磨損的問題、一些不幸的固件問題,而且SSD存儲價格大幅下降,這使得這項技術很快就被淘汰。
雖然你的臺式電腦或筆記本電腦可能不會從NVMe緩存中受益,但在一些情況下它是必不可少的。如果你有一個使用ZFS文件系統的網絡附屬存儲(NAS)或服務器,那麼你就會知道頻繁訪問數據的讀取操作總是受益於緩存數據。這是因爲你的存儲驅動器是硬盤或者速度較慢的SSD,而非高速的NVMe。
通常,ZFS(在大多數情況下實際上是OpenZFS)使用服務器內存通過自適應替換緩存(ARC)進行緩存。任何數據請求都會從其中獲取數據,但有時內存不夠用,這就需要用到NVMe緩存了。使用二級ARC(L2ARC)來存儲那些訪問頻率低於一級緩存,但高於冷存儲的訪問頻率的數據,可以使溢出數據請求得到更快的響應。
這就提高了整個系統的性能,因爲服務器不必爲這些請求從旋轉硬盤中提取數據。當您的文件服務器發送大量較小文件時,這會產生很大的影響,因爲每個請求都能得到更快的處理。
啊,對提升性能的不斷探尋。這種探尋促使人們將NVMe(非易失性內存主機控制器接口規範,以下簡稱NVMe)用作較慢的驅動器和陣列的緩存,多年來這都是一個很有價值的用例。
英特爾甚至還推出了傲騰(Optane),這是一種專注於每秒隨機輸入/輸出操作(IOPS)性能的類似技術。
但後來,NVMe存儲變得普通用戶也能負擔得起,緩存的功效也就逐漸消失了。
如果你正在嘗試< a href="#">優化Windows 11以用於遊戲,你不需要擔心手動管理緩存的問題,因爲操作系統會爲你處理。
Linux用戶也不需要去管理緩存,儘管如果他們是長期用戶的話可能還是會去管。
如今,NVMe緩存唯一有用的地方是位於網絡附屬存儲(NAS)或者服務器硬件裡的驅動器池前端,在這裡固態硬盤(SSD)可以處理任何從內存中的一線緩存溢出的傳入文件查詢。
緩存數據的全部意義在於將數據置於一種比長期存儲數據的方式更快的檢索方式中。當你的計算機已經有NVMe存儲時,數據能夠被緩存且速度更快的唯一地方就是內存(RAM)。你可以設置一個內存盤(RAMdisk)用於操作系統和瀏覽器緩存,但你不會想用它來存儲關鍵數據,因爲任何斷電情況都意味着數據丟失。否則,你的計算機可能已經在使用你的NVMe驅動器的某些部分作爲緩存了,你可以不用管它。