電源管理/CPU

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Power management/Processor and the translation is 100% complete.
Other languages:

この記事はCPU電源管理について説明しています。.

CPUの周波数スケーリング

CPU周波数スケーリングは、プロセッサの周波数を自動的に電力を節約するために、チップの発熱量を低減するために、「オンザフライ」で調整することができる技術です。

インストール

BIOS

いくつかの機能はBIOSで有効化もしくは無効化できます。次の機能が有効化されている事を確認してください。

  • "Processor C1E support"
  • "Enhanced Speedstep (EIST)"

カーネル

次のカーネルオプションを有効化してください

カーネル Enabling CPU power management options
Power management and ACPI options  --->
     [*] ACPI (Advanced Configuration and Power Interface) Support  --->
         <*>   Processor
     CPU Frequency scaling  --->
         [*] CPU Frequency scaling
             Default CPUFreq governor (ondemand)  --->
                 Select a default governor; see below table
                 Default is ondemand
             *** CPU frequency scaling drivers ***
                 Select a driver; see below table

プロファイルに基づいて周波数を変える役割を持つガバナーというものが必要になります。

デフォルトのCPUFreq governor
オプション モジュール サポートされるCPU 備考
'performance' ガバナー cpufreq_performance 常にCPUで利用できる最も高い周波数に固定します。 IntelのCPUに対して、このオプションはデフォルトとして設定されるべきです。[1] [2]
'powersave' ガバナー cpufreq_powersave 常にCPUで利用できる最も低い周波数に固定します。 デフォルトとして設定できません。
'userspace' ガバナー:userspaceにおける周波数スケーリング cpufreq_userspace 周波数を手動で設定するとき、もしくはuserspaceのプログラムが動的にCPU周波数を変更できるようにする時に設定します。
'ondemand' 周波数ポリシーガバナー cpufreq_ondemand CPUの利用状況に応じて定期的に周波数を変更します。 Intel以外のCPUに対して、このオプションがデフォルトとして設定されるべきです。
'conservative' 周波数ポガバナー cpufreq_conservative 'ondemand'に似ています。高い処理速度が要求された時に、100%に直接ジャンプするのではなく段階的に周波数を上げるように、なめらかに周波数を上下させます。
メモ
使用しているガバナーは次のファイルを参照することで確認できます。: /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_governor
CPUの周波数スケーリングドライバー
オプション モジュール サポートされるCPU 備考
Intel P state control intel_pstate SandyBridgeよりも新しいIntel Core
Processor Clocking Control interface driver pcc-cpufreq
ACPI Processor P-States driver acpi-cpufreq 古いIntel Core, Intel Atom, Intel Pentium M
AMD Opteron/Athlon64 PowerNow! powernow-k8 AMD Opteron, AMD Athlon 64, AMD Turion 64
Intel Enhanced SpeedStep (deprecated) speedstep-centrino Intel Pentium M (Centrino), Intel Xeon 問題があります, ACPI Processor P-States driverを代わりに使用してください。
Intel Pentium 4 clock modulation p4-clockmod Intel Pentium 4, Intel XEON 深刻な低速化と認知可能なほどの遅延の原因となります。

ティック

プロセッサはより長く省電力モードになっていればいるほど、エネルギー消費を抑えられるので、プロセッサを起こすティックの量を減らしてください。利用可能な tickless モードについての詳細はカーネルのドキュメントで読むことができます。

インストール

BIOS

いくつかの機能はBIOS内で有効あるいは無効にすることができます.以下の機能が有効になっているか確認してください:

  • "HPET"
  • "Multimedia timer"

カーネル

次のカーネルオプションを有効化してください:

カーネル カーネルでティック最適化機能を有効にする
Processor type and features  --->
   [*] Tickless System (Dynamic Ticks)
   [*] High Resolution Timer Support
   [*] HPET Timer Support
メモ
これらの設定は現在"General setup" -> "Timers subsystem"内にあります。

PowerTOP

PowerTOP は、コンピュータの電力消費を計測し、説明し、最小化するために設計されたユーティリティです。

実行すると、実行中のプロセスを、プロセッサを起こした頻度順にソートして表示します。インストール、設定そして使用法についての詳細は、個別の PowerTOP 記事を参照してください。

Hprofile

単純なコマンドを使ってアクティブな CPU ガバナーを変更することができます:

root #for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do echo ondemand >$c/cpufreq/scaling_governor; done

このコマンドを起動時に実行する方法について学ぶには、/etc/local.d/README を読んでください。

sys-power/cpupower などのアプリケーションは、これの上に覆いかぶさるようにちょっとしたインターフェースを備えていて、これよりちょっと多くの仕事をします。しかしながら、システムの利用状況に応じて root として特定のコマンドを実行しなくてはいけないというのは、多くのユーザにとって効率的なものではないでしょう。CPU 周波数ガバナーの決定を、一部自動化するとよいです。例えば、AC 電源に接続されていないときは、多くのユーザはシステムを省電力モードにしたいでしょう。

ここで Hprofile の出番です。さらなる情報と設定については記事を参照してください。

関連項目

外部資料

参照

  1. Dominik Brodowski. Intel P-State driver, CPU frequency and voltage scaling code in the Linux(TM) kernel. Retrieved 12 June 2016.
  2. Michael Larabel. Linux's "Ondemand" Governor Is No Longer Fit. Retrieved 15 October 2016.