Ubuntu Swapper(交換空間)配置最佳實踐
Swap(交換空間)是Ubuntu系統中關鍵的虛擬內存擴展機制,用于物理內存(RAM)不足時臨時存儲不活躍數據,避免進程崩潰并支持休眠功能。合理配置Swap能平衡系統穩定性與性能,以下是具體最佳實踐:
Swap大小的設置需根據物理內存容量、是否需要休眠及使用場景綜合判斷:
Ubuntu 16.04及以上版本默認推薦Swap文件,因其更靈活,便于擴容或縮小,無需重新分區:
sudo fallocate -l 4G /swapfile # 創建4GB Swap文件(需root權限)
sudo chmod 600 /swapfile # 設置權限(僅root可讀寫,防止敏感數據泄露)
sudo mkswap /swapfile # 格式化為Swap格式
sudo swapon /swapfile # 啟用Swap
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 開機自動啟用
vm.swappiness
是內核參數,決定系統使用Swap的積極性(值范圍0-100):
sudo sysctl vm.swappiness=10
;/etc/sysctl.conf
,添加vm.swappiness=10
,保存后運行sudo sysctl -p
使配置生效。sudo apt install zram-config
或手動配置啟用。sudo swapon --show
查看當前Swap設備及其大小、使用量;或使用free -h
查看內存與Swap的總使用情況(更直觀)。vmstat 1
(每秒刷新)或htop
(交互式界面)監控內存與Swap的實時使用率,關注si
(Swap In,從Swap讀取數據的速率)和so
(Swap Out,向Swap寫入數據的速率)指標,若持續較高,說明系統頻繁使用Swap,需調整配置。fallocate
調整大小,最后重新mkswap
和swapon
);若不再需要Swap,可徹底刪除(rm /swapfile
并從/etc/fstab
中移除對應行)。si
/so
值持續>100KB/s),應優先增加物理內存或優化應用內存使用(如關閉后臺無用進程、調整應用內存限制)。sudo chmod 600 /swapfile
),防止其他用戶讀取敏感數據。