サイトトップまとめドキュメント省電力cpufreq ≫ ポリシー/動作モード

ポリシー/動作モード

cpufreq上では

  • クロック/電圧調整に関する動作モード(governor)

  • クロック周波数の変動可能な範囲

の2つの組み合わせが動作ポリシーとなる。

表32 Linuxにおけるcpufreqの動作モード(governor)一覧

種類動作
ondemand負荷がかかるとクロックを上げ、負荷が下がるとクロックも下げる(値は急に大きく変動する)
conservative負荷がかかるとクロックを上げ、負荷が下がるとクロックも下げる(値はゆっくり段階的に変動する)
powersave負荷に関わらず、変動可能範囲内の最低のクロックが選択されて動作
performance負荷に関わらず、変動可能範囲内の最高のクロックが選択されて動作
userspaceクロックは自動的には変動せず、ユーザ空間のプログラムによって変動する

変動可能クロックの最大値と最小値が同一に指定されたとき、クロックはgovernorによらず変動しない。

cpufrequtilsを用いて手動でクロック変更を行うとuserspaceのgovernorになる。

ondemand/conservativeのしきい値

  • ondemand

  • conservative

の2つのモードはシステムの負荷(CPU使用率)に応じてクロック/電圧を変動させる。その負荷のしきい値は設定できる。

場所は/sys/devices/system/cpu/cpu[CPU番号]/cpufreq/[ondemand もしくは conservative]/[設定名]となるが、cpufreqdでは設定ファイルでプロファイルごとに指定できる。

表33 ondemand/conservativeのクロック変動におけるシステム負荷のしきい値

設定名設定の内容利用可能なgovernor
up_thresholdCPU使用率がこのパーセンテージを超えるとクロック/電圧を上げるondemand, conservative
down_thresholdCPU使用率がこのパーセンテージを下回るまでクロック/電圧を下げないconservativeのみ

関連セクション