Ubuntu Swapper(交換空間)設置步驟
在配置前,先確認系統是否已有交換空間及當前狀態,避免重復操作:
sudo swapon --show # 查看已啟用的交換空間詳情
sudo fdisk -l # 查看磁盤分區情況(確認未分配空間)
cat /proc/swaps # 查看交換空間的內核級信息
交換文件是Ubuntu中最常用的交換空間類型,適用于物理分區不足或需要動態調整大小的場景。
fallocate
命令(快速,推薦)或dd
命令(兼容性好)創建文件(例如4GB):sudo fallocate -l 4G /swapfile # 推薦:快速創建指定大小的文件
# 若fallocate不可用,使用dd命令:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 # 創建4GB(4096MB)文件
sudo chmod 600 /swapfile
mkswap
命令將文件轉換為交換格式:sudo mkswap /swapfile
sudo swapon /swapfile
/etc/fstab
文件,添加以下行(確保系統重啟后自動加載):echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 或使用文本編輯器(如nano):
sudo nano /etc/fstab # 在文件末尾添加上述行,保存退出
若系統有未分配的磁盤空間,可創建專用交換分區(性能略優于交換文件,但調整大小麻煩)。
fdisk
工具操作目標磁盤(如/dev/sda
,請根據實際情況替換):sudo fdisk /dev/sda
n
創建新分區,選擇p
(主分區)或e
(擴展分區),設置分區號(如1);t
更改分區類型,輸入82
(Linux swap類型);w
保存并退出(分區表將自動更新)。/dev/sda1
)格式化為交換格式:sudo mkswap /dev/sda1
sudo swapon /dev/sda1
/etc/fstab
文件,添加以下行:/dev/sda1 none swap sw 0 0 # 替換為實際分區名稱
無論使用文件還是分區,均需確認配置成功:
sudo swapon --show # 應顯示已啟用的交換空間(文件或分區)
free -h # 查看內存與交換空間總用量(Swap列應有數值)
cat /proc/swaps # 內核級交換空間信息(應包含新增的交換文件/分區)
swappiness
控制內核將內存數據移至交換空間的傾向(默認值60,范圍0-100)。值越低,系統越傾向于保留內存中的數據。
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10 # 推薦值:10-30(內存充足時可設為10)
/etc/sysctl.conf
,添加:vm.swappiness=10
zram-config
)并修改內核參數,具體步驟可參考Ubuntu官方文檔。sudo swapoff /swapfile # 關閉交換文件
sudo fallocate -l 8G /swapfile # 擴大至8GB(示例)
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
fdisk
刪除原分區并創建更大分區,再重新格式化啟用(步驟參考“創建交換分區”)。swappiness
值或使用zram減少磁盤IO。