安裝 Oracle 等大型軟件對 SWAP 有最低要求,初裝系統時若分配不足,可通過創建交換文件快速擴容,無需重新分區。本文演示 root 權限下使用 dd、mkswap、swapon 三步創建 512MB SWAP 文件,並通過 /etc/fstab 實現持久化掛載。
dd if=/dev/zero of=/home/swap bs=1024 count=512000
bs=1024:塊大小 1KBcount=512000:512,000 塊 = 512MB/home/swap 稀疏文件(實際佔用空間隨寫入增長)/sbin/mkswap /home/swap
建立交換區元數據(簽名、頁表等)。
/sbin/swapon /home/swap
立即生效,free -m 可見 Swap 總量增加 512MB。
echo "/home/swap swap swap defaults 0 0" >> /etc/fstab
重啟驗證:free -m 確認 Swap 空間自動掛載。
swapon -s # 查看所有交換區
swapoff /home/swap # 臨時關閉
cat /proc/swaps # 內核視角交換區信息
pri 參數控制。dd 過程勿中斷,大文件創建需耐心等待。cat /proc/sys/vm/swappiness # 默認 60
echo 10 > /proc/sys/vm/swappiness # 臨時降低積極性
echo "vm.swappiness=10" >> /etc/sysctl.conf # 永久生效
數值越低越傾向保留內存,越高越早使用 SWAP。資料庫類應用建議 10-30。
文件法擴容 SWAP **無需停機、無需重分區、風險極低**,是臨時應對內存壓力的首選方案。長期運行建議規劃專用交換分區並調優 swappiness。