一、Swap的作用與形式
Swap(交換空間)是Ubuntu系統用于擴展內存的磁盤空間,主要功能包括:內存不足時將不活躍內存頁換出至磁盤(避免OOM崩潰)、支持系統休眠(將內存內容保存至Swap以便恢復)?,F代Ubuntu(16.04及以上)默認使用Swap文件(如/swapfile
),其優勢是靈活調整大小(無需重新分區),適合大多數用戶;傳統Swap分區需安裝時劃分,調整麻煩但性能略高(連續磁盤空間)。
二、Swap大小的合理配置原則
Swap大小的設置需結合物理內存容量、使用場景及是否需要休眠綜合判斷:
三、Swap配置的關鍵步驟
# 創建4GB Swap文件(使用fallocate命令,速度快)
sudo fallocate -l 4G /swapfile
# 設置嚴格權限(僅root可讀寫)
sudo chmod 600 /swapfile
# 格式化為Swap格式
sudo mkswap /swapfile
# 啟用Swap文件
sudo swapon /swapfile
編輯/etc/fstab
文件(使用sudo nano /etc/fstab
),在末尾添加以下行:
/swapfile none swap sw 0 0
保存后,系統重啟時會自動啟用該Swap文件。
四、優化Swap使用:調整swappiness參數
swappiness
是控制內核使用Swap積極性的參數,取值范圍0~100:
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10
/etc/sysctl.conf
,添加或修改以下行:vm.swappiness=10
執行sudo sysctl -p
使設置生效。五、性能優化技巧
sudo nano /etc/default/grub
),在GRUB_CMDLINE_LINUX
中添加:zswap.enabled=1 zswap.compressor=lz4
更新GRUB并重啟:sudo update-grub
sudo reboot
Zswap會在內存不足時先壓縮內存頁(使用LZ4算法),僅將無法壓縮的部分寫入Swap,降低I/O壓力。六、注意事項
sudo swapoff -a
并注釋/etc/fstab
中的行)可能導致OOM Killer強制終止進程(如瀏覽器、數據庫),需謹慎操作。free -h
(查看Swap總量及使用量)、swapon --show
(查看活躍Swap設備)、vmstat 1
(監控si/so列,即Swap In/Out頻率)等命令,及時發現Swap異常。