跳至主要内容

CPU DVFS(Dynamic Voltage and Frequency Scaling)

DVFS 是依負載動態調整 CPU 的頻率與電壓,以在效能與功耗之間取得平衡。功耗大致與電壓平方及頻率成正比,因此降頻降壓能顯著省電。

Linux cpufreq

Linux kernel 以 cpufreq 子系統管理,透過 governor 決定調頻策略:

  • performance:固定最高頻率,追求效能。
  • powersave:固定最低頻率,最省電。
  • ondemand / conservative:依負載動態升降頻(較舊的策略)。
  • schedutil:由排程器提供的負載資訊驅動調頻,較新且反應快。

相關路徑

# 每顆 CPU 的 cpufreq 設定
/sys/devices/system/cpu/cpu0/cpufreq/
scaling_governor # 目前 governor
scaling_available_governors
scaling_cur_freq # 目前頻率
scaling_min_freq / scaling_max_freq

P-state

x86(Intel/AMD)平台常用 intel_pstate / amd-pstate driver,以硬體定義的 P-state(效能狀態,P0 最高)進行調頻,通常由硬體或韌體協同 kernel 控制。