Debian Swapper常見問題及解答
使用free -h命令可快速查看系統內存與Swap的總使用量、剩余量及利用率;swapon --show命令能詳細列出當前啟用的Swap分區/文件(包括設備名稱、類型、大小、已用空間等信息)。這兩個命令是日常監控Swap狀態的常用工具。
若Swap使用率長期接近100%,需通過以下方式擴容:
fallocate -l 4G /swapfile(4G為例)創建指定大小的文件,執行chmod 600 /swapfile設置權限(僅root可讀寫),再用mkswap /swapfile格式化為Swap空間,最后用swapon /swapfile啟用。fdisk /dev/sdX(X為硬盤標識,如sda)創建新分區,將分區類型改為“Linux swap”(代碼82),格式化(mkswap /dev/sdXY,XY為分區號)后啟用(swapon /dev/sdXY)。/etc/fstab文件(如/swapfile none swap sw 0 0或/dev/sdXY none swap sw 0 0),確保系統重啟后自動掛載。swappiness是內核參數,控制系統使用Swap的傾向(值范圍0-100):
sudo sysctl vm.swappiness=10(立即生效,重啟失效);/etc/sysctl.conf文件,添加vm.swappiness=10,然后執行sudo sysctl -p使配置生效。sudo swapoff -a命令關閉所有已啟用的Swap分區/文件(系統重啟后會恢復)。/etc/fstab文件,找到Swap相關的行(如/dev/sdXY none swap sw 0 0或/swapfile none swap sw 0 0),在行首添加#注釋,保存后重啟系統即可。/etc/fstab中Swap條目格式正確(無拼寫錯誤、路徑存在),或Swap分區類型為“Linux swap”(代碼82)。journalctl -xe或/var/log/syslog查看啟動時的錯誤信息(如權限不足、設備不存在)。fsck /dev/sdXY(X為硬盤標識,Y為分區號)修復(需先卸載Swap)。swapoff現有Swap,刪除舊分區/文件,重新創建并啟用Swap。即使系統負載低,若物理內存充足,Swap仍可能被使用,主要原因是:
vm.swappiness值大于0(如默認60),系統會主動將部分內存數據換出到Swap,以預留內存給可能的后臺進程。