Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux Swap 虛擬記憶體建立、啟用、永久生效與刪除完整操作指南

編輯:Linux 系統常見問題解答

什麼是 Swap

當物理記憶體 (RAM) 不足時,核心將暫時不用的記憶體頁面換出到磁碟 Swap 空間,騰出 RAM 給活躍進程。Swap 為系統提供緩衝,防止 OOM Killer 殺死關鍵進程,但過度依賴 Swap 會嚴重拖慢效能(磁碟 I/O 遠慢於 RAM)。

建立 Swap 檔案(以 1GB 為例)

# 1. 建立 1GB 空檔案 (bs=1M count=1024)
dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress

# 2. 設定權限 (僅 root 可讀寫)
chmod 600 /swapfile

# 3. 格式化為 Swap 區
mkswap /swapfile

# 4. 立即啟用
swapon /swapfile

# 5. 驗證
free -h
# 輸出應包含 Swap: 1.0G

設定開機自動掛載

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 或手動編輯 /etc/fstab 新增上述行

調整 Swappiness(交換傾向)

/proc/sys/vm/swappiness (0-100),預設 60。數值越低越傾向保留在 RAM,數值越高越積極換出。

# 臨時修改
echo 10 | sudo tee /proc/sys/vm/swappiness
# 永久修改
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

資料庫/高效能伺服器建議設 10-20;桌面/一般伺服器 60 即可。

刪除 Swap

# 1. 停用
swapoff /swapfile

# 2. 刪除檔案
rm -f /swapfile

# 3. 移除 fstab 對應行
sed -i '/\/swapfile/d' /etc/fstab

Swap 分區 vs Swap 檔案

類型優點缺點
分區效能略優、不受檔案系統碎片影響調整大小需重新分區、佔用主分區槽位
檔案彈性調整大小、無需重分區、易於備份/遷移極端碎片可能微影響效能、需檔案系統支援

現代核心 (2.6+) 與 ext4/xfs/btrfs 對 Swap 檔案支援良好,推薦使用檔案方式靈活管理。

總結

Swap 是記憶體不足時的救命稻草,而非效能加速器。建立適當大小(通常 1-2 倍 RAM 或固定 2-4GB)、設定低 Swappiness、監控實際使用量(sar -W、vmstat),才是正確的 Swap 管理之道。

Copyright © Windows教程網 All Rights Reserved