檢查是否需要更多交換空間
交換空間會在記憶體不足時為系統提供額外空間,但速度遠低於 RAM。請查看 available 欄,而非 free 欄,因為 Linux 會將未使用的記憶體用作快取,並在需要時釋放。持續發生交換活動代表伺服器需要更多記憶體或更少程序,增加交換空間無法解決此問題。
free -h
swapon --show
vmstat 1 5建立交換檔
先檢查磁碟可用空間,再建立檔案、限制權限、格式化並啟用。該檔案必須只允許 root 讀取。
df -h /
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show重新啟動後繼續使用
先備份 /etc/fstab,再於其中加入一行。fstab 中的錯誤可能導致系統無法正常開機,因此請在重新啟動前驗證該檔案。
sudo cp /etc/fstab /etc/fstab.backup
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo findmnt --verify調整交換檔大小
停用交換空間前,請確定其內容能放入可用記憶體:swapoff 會將內容移回 RAM,若記憶體容納不下,程序可能會遭終止。接著停用該檔案,以新的大小重新建立,再啟用。只要路徑不變,fstab 中的那一行就維持不變。
free -h
sudo swapoff /swapfile
sudo fallocate -l 4G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileBtrfs 和 zram
在 Btrfs 上,交換檔需要特殊處理:請使用 btrfs filesystem mkswapfile,並注意包含交換檔的子磁碟區無法納入快照。zram 與交換檔不同,它將壓縮後的記憶體頁面保存在 RAM 中,而非磁碟上,且由自己的服務管理,不透過 fstab 管理。
CH-J Server Manager 中的交換空間
System Monitor 顯示 RAM 使用分布、RAM 和交換空間的歷程記錄,以及每個交換區域的類型、優先順序與活動情況。具有 root 或 sudo 權限時,可以在 ext2/3/4、XFS、Btrfs 和 F2FS 上建立、啟用、停用、調整大小及刪除位於 /swapfile*、/swap/<name> 或 /var/lib/swap/<name> 的交換檔,大小範圍為 64 MiB 至 64 GiB。若交換空間的內容無法放入記憶體,應用程式會拒絕停用,並會在每次變更前備份 /etc/fstab。此處 zram 和 zswap 僅供讀取。