溫馨提示×

Ubuntu Swap優化方法

小樊
38
2025-10-09 22:45:36
欄目: 智能運維

Ubuntu Swap優化方法

1. 創建/調整Swap文件大小

Swap文件是Ubuntu中最常用的交換空間形式,可根據物理內存大小調整其容量。

  • 創建Swap文件:使用fallocate命令快速創建指定大小的Swap文件(如4GB),若fallocate不可用,可用dd命令替代。
    sudo fallocate -l 4G /swapfile  # 創建4GB Swap文件
    sudo chmod 600 /swapfile        # 設置嚴格權限(僅root可訪問)
    sudo mkswap /swapfile           # 格式化為Swap格式
    sudo swapon /swapfile           # 啟用Swap文件
    
  • 永久生效:將Swap文件添加到/etc/fstab文件,確保系統重啟后自動加載。
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    
  • 調整大小:若需擴大Swap文件,先禁用現有文件,修改大小后重新格式化并啟用。
    sudo swapoff /swapfile          # 禁用Swap文件
    sudo fallocate -l 8G /swapfile  # 調整為8GB(示例)
    sudo mkswap /swapfile           # 重新格式化
    sudo swapon /swapfile           # 重新啟用
    

2. 調整Swappiness參數

Swappiness是控制內核使用Swap頻率的關鍵參數(取值0-100),值越低,系統越傾向于使用物理內存,減少Swap依賴。

  • 查看當前值
    cat /proc/sys/vm/swappiness
    
  • 臨時修改(立即生效,重啟失效):
    sudo sysctl vm.swappiness=10    # 推薦值:10-30(內存充足時可設為10以下)
    
  • 永久修改:編輯/etc/sysctl.conf文件,添加以下行:
    vm.swappiness=10
    
    執行sudo sysctl -p使修改生效。

3. 選擇高性能存儲介質

Swap的性能高度依賴存儲介質的讀寫速度,優先將Swap文件放在SSD上(尤其是NVMe SSD),可顯著提升Swap操作速度。若系統已有SSD,確保Swap文件位于SSD分區(如/根目錄或/home目錄下的Swap文件)。

4. 監控Swap使用情況

定期監控Swap使用狀態,判斷優化效果及是否需要進一步調整:

  • 查看Swap總量及使用量
    free -h
    
  • 查看詳細Swap使用情況(包括進程級占用):
    sudo swapon --show
    sudo top  # 或 htop(需安裝)
    

5. 清理不必要的Swap

若系統物理內存充足(如16GB以上)且Swap使用率長期低于10%,可考慮刪除Swap文件以釋放磁盤空間:

  • 禁用并刪除Swap文件
    sudo swapoff /swapfile
    sudo rm /swapfile
    
  • 移除fstab條目:編輯/etc/fstab,刪除或注釋掉Swap文件對應的行。

6. 高級優化:使用zram/zswap

zram(壓縮內存)和zswap(壓縮Swap)可在內存中創建虛擬Swap空間,減少對磁盤的訪問,適合內存緊張但需提升Swap性能的場景:

  • 安裝zram工具(Ubuntu默認包含):
    sudo apt install zram-config
    
  • 啟用zswap:編輯/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT中添加zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20(壓縮算法選lz4,池大小設為內存的20%),然后更新GRUB并重啟:
    sudo update-grub
    sudo reboot
    

注意事項

  • 避免過度依賴Swap:Swap的性能遠低于物理內存,若系統頻繁使用Swap(使用率超過30%),應優先增加物理內存。
  • 備份重要數據:調整Swap配置前,建議備份/etc/fstab等關鍵文件,防止誤操作導致系統無法啟動。
  • 測試環境驗證:生產環境調整前,建議在測試環境中驗證配置的有效性和穩定性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女