10/10/2017

Linux 處理器 CPUfreq 調速程式 頻率調節

CentOS 7 預設使用 CPUfreq 來管理處理器頻率

 

conservative 模式(預設)
跟 Ondemand 調速程式類似,Conservative(保守)調速程式也可以根據使用量調整時脈頻率。
然而,Ondemand 會以更積極的方式來進行(最高頻率或最低頻率二選一);
而 Conservation 調速程式會以漸進方式調整頻率。

userspace 模式
Userspace 調速程式能讓 userspace(使用者空間)的程式(或任何以 root 身份執行的程序)來設定頻率。
此調速程式通常會與 cpuspeed daemon 一起使用。
在所有調速程式中,Userspace 是最高度客製化的;
而且根據配置方式,它可以提供效能與電力消耗的最佳平衡。

powersave 模式
相反地,Powersave(省電)調速程式會強迫 CPU 使用最低的時脈頻率運作。
這頻率會以靜態方式設定,而且不會改變。因此,這個調速程式會以最節省電力的方式運作,但會導致「最低的 CPU 效能」。
但「Powersave」這個名詞有時候會引起混淆,因為基本上,較慢的 CPU 在滿載的情況下,會比快速而不滿載的 CPU 耗電。
因此,如果您預期某段時間內 CPU 的負荷應該不會太重,就可以將 CPU 設在 Powersave 調速程式;
但這段時間內的無預期高負載就可能導致系統消耗更多電力。
簡單來說,Powersave 調速程式是 CPU 的「限制速度程式」,而不是「節省電力程式」。
它在可能會過熱的系統與環境中,非常有用。

ondemand 模式
Ondemand(視需要)調速程式能在系統負載高的時候,使用 CPU 的最高時脈運行;
並在系統閒置時,使用最低的時脈頻率。
這讓系統根據系統負載,動態調整電力消耗;
但代價是「切換時脈時會導致延遲」。
因此,如果負載的變動太過頻繁,Ondemand 調速程式會因為切換時脈的次數過多,而降低 Performace 或 Powersave 所帶來的好處。
對於大部分系統來說,Ondemand 調速程式可以達到熱能、電力、效能、與管理的最佳平衡。
當系統只在一天的某個時段忙碌的情形下,Ondemand 調速程式會根據負載,自動在最高與最低頻率之間切換,而不需要進一步干預。

performance 模式
這個 Performance(效能)調速程式會強迫 CPU 使用最高的時脈頻率運作。
這個頻率會以靜態方式設定,而且不會改變。
因此,這個特定的調速程式「不會提供任何省電功能」。
這只適用於高工作負載時段,在這期間 CPU 鮮有(或從沒有)閒置的時候。

 

顯示處理器 CPUfreq 預設的模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor


顯示處理器完整資訊
cat /proc/cpuinfo


顯示處理器最高頻率及目前頻率
grep -E 'GHz|MHz' /proc/cpuinfo


顯示所有核心的 CPUfreq 資訊
cpupower -c all frequency-info


設定處理器所有核心的 CPUfreq 模式,暫時性 performance 模式
cpupower -c all frequency-set -g performance


 

沒有留言:

張貼留言