調整Swappiness參數:降低系統對Swap的依賴
Swappiness是控制內核使用Swap空間的關鍵參數,取值范圍為0-100(默認60)。值越高,系統越傾向于將內存數據轉移至Swap;值越低,越優先使用物理內存。對于追求低能耗的Ubuntu系統,建議將Swappiness設置為10-30(如vm.swappiness=10
),以減少硬盤讀寫操作(Swap使用會增加硬盤功耗)。操作方法:
sudo sysctl vm.swappiness=10
;/etc/sysctl.conf
文件,添加vm.swappiness=10
,保存后運行sudo sysctl -p
使配置生效。優化Swap空間類型:優先使用Swap文件而非分區
Swap文件具有更好的靈活性(可動態調整大?。┖图嫒菪?,且不會像分區那樣影響磁盤分區結構。相比傳統Swap分區,Swap文件更適合需要頻繁調整的場景,能有效減少因分區調整帶來的系統開銷(間接降低能耗)。操作方法:
sudo fallocate -l 4G /swapfile
;sudo chmod 600 /swapfile
(確保僅root可訪問);sudo mkswap /swapfile
;sudo swapon /swapfile
;/etc/fstab
,添加/swapfile none swap sw 0 0
。合理設置Swap大?。罕苊膺^大或過小
Swap大小需根據物理內存調整,避免“過大導致頻繁讀寫”或“過小導致內存溢出”。一般建議:
使用Zram:壓縮內存作為Swap空間
Zram是一種內核支持的壓縮內存技術,可將部分內存轉換為壓縮的Swap空間(無需額外硬盤空間)。相比傳統Swap,Zram能減少硬盤I/O操作(尤其是SSD的寫入損耗),同時通過壓縮提高內存利用率,間接降低系統能耗。操作方法:
sudo apt update && sudo apt install zram-config
;sudo systemctl enable zram-config && sudo systemctl start zram-config
。/dev/zram0
),無需手動配置。監控與清理Swap使用:減少不必要的交換
定期監控Swap使用情況,及時清理無用進程和緩存,能避免Swap空間過度占用導致的硬盤頻繁讀寫。操作方法:
free -h
(顯示內存和Swap的總量、已用、空閑情況);sync
),再清空緩存(echo 3 > /proc/sys/vm/drop_caches
);htop
或top
工具識別占用內存高的進程,結束無用進程(如kill -9 <PID>
)。其他系統級優化:間接減少Swap依賴
除上述針對Swap的優化外,還可通過以下系統設置降低整體能耗,間接減少Swap的使用頻率:
powersave
(低功耗模式),適合不需要高性能的場景(cpufreq-set -g powersave
);tlp
(優化電源計劃)、powertop
(監控功耗熱點),進一步提升電池續航。