如何避免Swap分割槽對NVMe裝置造成過度損耗
NVMe是固態儲存時代的下一個階段,它提高了SSD和網路上其他儲存裝置的效能。如今,越來越多的伺服器開始支援NVMe,IT人員是時候考慮Swap分割槽(交換區)的使用問題,來最大限度地使用這些系統了。
在研究NVMe磁碟上Swap分割槽的使用之前,我們需要了解什麼是Swap分割槽,以及為什麼最初要在SSD上避免使用它。然後,本文將探索在NVMe上使用Swap分割槽的問題。
Photo by from
對Swap分割槽的需求
Swap分割槽就像火災保險,它是你永遠不想用到的東西,但必須隨時可用。在按照你希望的方式執行的系統上,應該有足夠的記憶體來載入程式和快取資料。如果你的系統有足夠的RAM,那麼就不會有問題。
當系統沒有足夠的RAM時,Swap分割槽就會發揮作用。硬碟上專門的特定區域充當額外的RAM,作為交換區。
Linux系統可能需要交換區的原因有很多。可能是RAM不足,也可能是因為一些伺服器級別的應用程式(如Oracle資料庫或SAP)需要一定的交換空間。除此之外,還有一些例外情況,例如,你的應用程式伺服器存在記憶體洩漏。在這種情況下,您可能會面臨記憶體耗盡、應用程式停止工作和客戶不滿意的風險。
Swap分割槽和SSD
在傳統的機械硬碟上,Swap分割槽的使用從來都不是一個問題。但是,如果你使用的SSD的快閃記憶體RAM單元的壽命是有限的,情況就不同了。快閃記憶體上的每一次寫入都會磨損記憶體單元,並且在某個時候,它會停止工作。
SSD裝置的預期壽命用TB寫入(TBW)值表示,這個值表示在SSD損壞之前能夠寫入多少位元組。SSD裝置的TBW值通常在產品規格中被列為持久引數。磁碟的TBW值取決於其質量,低端消費級SSD可能在低到20 TBW時就開始出現故障,而企業級/伺服器級SSD通常可以達到1000 TBW以上。限制Swap分割槽的使用可以縮減SSD上寫操作的數量。
Swap分割槽在NVMe上的使用
普通SSD裝置和NVMe裝置之間的主要區別在於它們連線到系統匯流排的方式。在物理級別上,這兩種裝置型別都使用快閃記憶體單元來寫入資料,這意味著SSD和NVMe之間的TBW沒有根本區別。但對於在NVMe裝置上使用Swap分割槽來說,這意味著什麼呢?這意味著適用於非NVMe SSD的規則也適用於NVMe SSD。
我要們明確一點:如果記憶體不足,並且Swap分割槽一直在使用,那麼最好將其放在硬碟驅動器上。但這種情況不適用於典型的Linux系統,大多數使用Linux的伺服器和工作站可以很好地處理所安裝的物理RAM。
不過,如果這些系統上的Linux核心開始將記憶體頁交換到磁碟,那麼檢視正在進行交換的是活動記憶體頁還是非活動記憶體頁就非常重要。非活動記憶體頁是已經分配過一次,以後不會再使用的記憶體頁。如果你的系統只交換非活動記憶體頁,那麼無需擔心,也沒有理由避免在SSD或NVMe驅動器上使用Swap分割槽。這是因為非活動記憶體頁通常在換出後保持在原來的位置,這意味著只有非活動頁被換出時寫入交換的資料量要低得多。
查明系統是否正在積極使用Swap分割槽的最佳方法是執行vmstat命令,該命令提供了系統範圍內的效能檢視,包括程式、Swap使用情況、記憶體、分頁和CPU活動。
例如,如果你執行vmstat 2 100命令,它將以2秒的間隔顯示100次系統使用Swap的資訊。你需要仔細看看Swap In和Swap Out結果的SI和SO列。vmstat輸出的第一行是長期總結,可以忽略。在命令生成輸出時,你要監視這些列的其餘部分中發生的情況。如果你沒有看到任何重要的活動,那就沒什麼好擔心的。如果你確實看到了明顯的活動,那麼你的SSD裝置正在慢慢損耗,你最好考慮向系統中增加更多RAM。
原文作者:Sander van Vugt 來源:Tech Target
來自 “ Tech Target ”,原文連結:http://blog.itpub.net/31545805/viewspace-2636591/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- win10無損分割槽的步驟_win10如何對硬碟無損分割槽Win10硬碟
- Linux系統如何進行分割槽?swap分割槽是什麼?Linux
- 用檔案新增Swap分割槽
- Linux 分割槽擴容(根分割槽擴容,SWAP 分割槽擴容,掛載新分割槽為目錄)Linux
- centos7.9 擴容swap分割槽CentOS
- 檔案系統&&磁碟管理(六)–swap分割槽、迴環裝置、檔案系統配置檔案fstab
- 如何透過裝置基站獲取裝置經緯度
- 雲端計算:交換分割槽管理 Swap
- MySQL如何避免使用swap(ZT)MySql
- Linux下swap(交換分割槽)的增刪改Linux
- 電腦硬碟分割槽表損壞怎麼修復?電腦硬碟分割槽表損壞的修復方法硬碟
- win10硬碟分割槽怎麼分_win10系統如何對硬碟分割槽Win10硬碟
- SSD固態硬碟要分割槽嗎?SSD固態硬碟分割槽與不分割槽的效能對比硬碟
- 手把手教學linux上擴容和縮減swap分割槽。Linux
- 怎麼在guid分割槽格式中安裝win10系統|uefi gpt分割槽如何安裝win10GUIWin10GPT
- MySQL分割槽如何遷移MySql
- Mac磁碟如何分割槽?教你Mac系統磁碟自由分割槽教程!Mac
- mbr分割槽能不能裝win10_mbr分割槽怎麼裝win10Win10
- SQL Server大分割槽表沒有空分割槽的情況下如何擴充套件分割槽的方法SQLServer套件
- 對oracle分割槽表的理解整理Oracle
- 如何為Kafka叢集確定合適的分割槽數以及分割槽數過多帶來的弊端Kafka
- Oracle drop分割槽表單個分割槽無法透過閃回恢復Oracle
- Linux分割槽方案、分割槽建議Linux
- 資料恢復記錄:硬碟分割槽損壞修復SqlServer資料庫過程資料恢復硬碟SQLServer資料庫
- 【北亞資料恢復】企業如何避免伺服器資料丟失造成重大損失?資料恢復伺服器
- 聊聊Spark的分割槽、並行度 —— 前奏篇Spark並行
- win10 怎麼分割槽_如何給win10系統分割槽Win10
- oracle分割槽表和分割槽表exchangeOracle
- PostgreSQL/LightDB 分割槽表之分割槽裁剪SQL
- Linux系統對分割槽有哪些要求?Linux
- 如何避免費錢又耗時的專案延期?
- 『學了就忘』Linux檔案系統管理 — 62、手動分配swap分割槽Linux
- win10如何使用自帶工具給磁碟分割槽_win10使用自帶工具對硬碟分割槽的方法Win10硬碟
- win10電池損耗怎麼看_如何檢視win10電腦電池損耗Win10
- Oracle分割槽表基礎運維-07增加分割槽(2 HASH分割槽)Oracle運維
- ghost win10如何分割槽硬碟_ghost win10怎麼分割槽硬碟Win10硬碟
- win10怎樣分割槽_win10系統如何給磁碟分割槽Win10
- 安裝Win10系統提示“無法建立新的分割槽也找不到現有的分割槽”如何解決Win10