web-dev-qa-db-ja.com

CPUガバナーをオンデマンドまたは保守的に設定する

ArchLinuxでcpupowerと格闘しています。ガバナーをondemandまたはconservativeに設定したい。

最初に$ Sudo cpupower frequency-info --governors、私はperformance powersave

だから私はこのような利用可能なモジュールを探します

ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/

...そして私は得る

acpi-cpufreq.ko.gz
AMD_freq_sensitivity.ko.gz
cpufreq_conservative.ko.gz
cpufreq_powersave.ko.gz
cpufreq_stats.ko.gz
cpufreq_userspace.ko.gz
p4-clockmod.ko.gz
pcc-cpufreq.ko.gz
powernow-k8.ko.gz
speedstep-lib.ko.gz

したがって、まず「オンデマンド」用のモジュールが利用できないようです。私は何を見逃していますか?

それから私は少なくとも保守的なことを可能にしようとします:

$ Sudo modprobe cpufreq_conservative

次に、モジュールが実際にロードされていることを確認します

$ lsmod | grep cpufreq

そして、それが現在利用可能かどうかを確認します

$ Sudo cpupower frequency-info --governors

残念ながら、私は今でも同じです:performance powersaveのみ、そして私が保守的なものを有効にしようとした場合

$ Sudo cpupower frequency-set -g conservative

それはモジュールが利用できないと言います。

だから基本的に私は2つの質問があります:

  1. オンデマンドモジュールを使用するために何をインストールする必要がありますか
  2. どうすれば有効にできますか?
32
lviggiani

ガバナーがintel_pstateであると想定します(カーネル3.9以降のIntel Sandy BridgeおよびIvy Bridge CPUのデフォルト)。この問題はArchに固有のものではありませんが、CPU周波数/電力管理の管理に新しいIntel pstateドライバーを使用するすべてのディストリビューションです。 Arch Linux CPU周波数スケーリング


Theodore Ts'oがGoogle+で彼の説明を書きました

  • intel_pstateは、起動時にkernel arg intel_pstate=disableを使用して無効にできます
  • オンデマンドガバナーの問題は、CPUの特定の機能を認識していないことです。
  • 高い周波数でいくつかのタスクを実行すると、低い周波数よりも時間がかかります。算術的なものですが、すべてのタスクに当てはまるわけではありません。メモリから何かをロードする
  • Intel_pstateドライバーは、CPUがどのように動作するかの詳細を知っており、一般的なACPIソリューションよりも優れています。
  • intel_pstateは、powersaveperformanceの2つのガバナーのみを提供します。 Intelは、intel_pstateの「powersave」は「パフォーマンス」を備えた一般的なacpiガバナーよりも高速であると主張しています

ACPIドライバーに戻すには、再起動してカーネル引数intel_pstate=disableを設定します
次にmodprobe acpi-cpufreqを実行すると、オンデマンドガバナーが使用可能になります。

/etc/default/grubを編集して追加することで、変更を永続的にすることができます

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

次に、grub.cfg ala grub-mkconfig -o /boot/grub/grub.cfgを更新します

Archカーネルモジュールのロードに関する説明 に従って、acpi-cpufreqモジュールを追加します。

39
bsd