在 Linux 作業系統的 Swap(置換區,又稱虛擬記憶體),主要為了當實體記憶體用完時,為避免因記憶體(Memory)不足而導致作業系統當機,所以會透過硬碟空間來當記憶體,當然因硬碟存取速度比記憶體還慢(無論是機械式硬碟,還是SSD固態硬碟),所以也會間接影響作業系統的執行效能,當然除了影響系統效能外,如果系統硬碟是SSD固態硬碟也會影響SSD固態硬碟的寫入壽命(因SSD固態硬碟採用快閃記憶體(NAND Flash)儲存技術,會有抹寫次數的限制)。
為了避免在 Linux 作業系統上的 Swap(置換區),因長期的記憶體不足,而頻繁使用及寫入Swap而間接影響系統效能及SSD固態硬碟的寫入壽命問題,這篇要教各位科技宅友們,透過修改「/etc/sysctl.conf」檔案,來減少Swap使用的機率。
Linux 減少虛擬記憶體 Swap 置換區使用設定方法
第一步
查看 Linux 系统內的 swappiness 值,以下透過「cat」指令將目錄下「/proc/sys/vm/」的「swappiness」的檔案內容印出來顯示;或透過查詢所有 Linux Kernel 設定參數「sysctl -a」及「grep」來查詢 swappiness 目前的設定值,以下指令:
cat /proc/sys/vm/swappiness
或
sysctl -a | grep swappiness
說明:Swappiness 設定值為 0 到 100 之間,這表示使用 Swap(記憶體置換區)可能使用的百分比。如將值設定為 0,將強制電腦不使用 Swap(記憶體置換區),除非必須使用時才會使用。
第二步
在「/etc/sysctl.conf」目錄的檔案內容加上「vm.swappiness = 0″」,讓 Swap(記憶體置換區)的使用機率的百分比設定為 0 ,讓 Linux 作業系統盡可能不要使用 Swap(記憶體置換區)。※以下指令需將權限切換至 root 帳號權限,可透過「sudo su –」來進行帳號權限切換。
echo "vm.swappiness = 0" >> /etc/sysctl.conf
第三步
設定完畢,在 Terminal(終端機)上輸入「sysctl -p」,讓「/etc/sysctl.conf」設定檔載入系統核心參數。
sysctl -p
- ※如有發現掉圖或檔案無法下載,請由回應區留言告知,將會盡速處理!
- ※歡迎分享本篇文章網址給需要的朋友。
- ※本篇文章著作所有權皆屬於「科技阿宅王」網站所有,引用文章時請來信索取授權,否則將保留法律追訴權,謝謝。