最終更新:2022-10-13 (木) 17:08:22 (553d)  

Linux/CPU/ガバナ
Top / Linux / CPU / ガバナ

CPUFreq Governor

詳細

performance?

  • sets the CPU statically to the highest frequency within the borders of scaling_min_freq and scaling_max_freq.

powersave?

  • sets the CPU statically to the lowest frequency within the borders of scaling_min_freq and scaling_max_freq.

userspace?

  • allows the user, or any userspace program running with UID "root", to set the CPU to a specific frequency by making a sysfs file "scaling_setspeed" available in the CPU-device directory.

ondemand

  • sets the CPU frequency depending on the current system load. Load estimation is triggered by the scheduler through the update_util_data->func hook; when triggered, cpufreq checks the CPU-usage statistics over the last period and the governor sets the CPU accordingly. The CPU must have the capability to switch the frequency very quickly.

conservative?

  • much like the "ondemand" governor, sets the CPU frequency depending on the current usage. It differs in behaviour in that it gracefully increases and decreases the CPU speed rather than jumping to max speed the moment there is any load on the CPU. This behaviour is more suitable in a battery powered environment.

schedutil

  • Linux 4.7
  • aims at better integration with the Linux kernel scheduler. Load estimation is achieved through the scheduler's Per-Entity Load Tracking (PELT?) mechanism, which also provides information about the recent load.
  • This governor currently does load based DVFS only for tasks managed by CFS. RT? and DL? scheduler tasks are always run at the highest frequency. Unlike all the other governors, the code is located under the kernel/sched/ directory.

確認

  • cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
  • VMだと存在しない

設定

  • echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

コマンド

cpufrequtils

cpupower

設定ファイル

メモ

  • ondemand
  • conservative?
  • interactive?
  • performance?
  • powersave?
  • userspace?

メモ

.config

挙動 (2010年)

  • Somewhat counter intuitively the kernel default performance governer us Performance.
  • This is that boot time is measurably faster with this governer.
  • Although this is the default, early userspace switches us to the users chosen governer defaulting to ondemand.
  • https://wiki.ubuntu.com/Kernel/Dev/KernelConfig

参考