回答:
当分の間、これに対する明確な答えはありませんが、Linuxカーネルがいくつかの省エネメカニズムを使用していることは明らかです。
しかし、いくつかの簡単な調査を行った結果、最新のLinuxカーネルはAdvanced Configuration and Power Interfaceの頭字語であるACPIと呼ばれる機能を使用していることにすぐに気付きました。
Advanced Configuration and Power Interface(ACPI)仕様は、オペレーティングシステムによるデバイス構成と電源管理のオープンスタンダードを提供します。
ウィキペディア経由。
基本的に、ACPIはさまざまなCPU状態の制御を可能にし、電力管理を改善します。
CPU Cステート(電源管理)
基本的に、CPUの「C状態」に関して心配する必要のあることはおそらくないでしょう。これらは、現在のシステム負荷を考慮して、カーネル+ ACPIシステムによって自動的に制御されます。(警告:以下のAMD AthlonおよびDuronプロセッサに関するメモをご覧ください)。新しい(2.6+)カーネルのACPIコードは、アイドル時間があるとCPUを自動的にスリープ状態にします(注:これはCPU周波数を変更しません。「P状態」によって制御されます-以下を参照)。
認識すべき唯一のことは、CPUが一時的に停止したときに、システムが完全に「意識的」であることです。ほとんど違いに気付かないでしょう。ただし、電力の節約はかなり可能です。CPUがアイドル状態のときはいつでも何千もの「マイクロナップ」を取っていると考えてください。
CPU-T状態(スロットル)
これらは「C状態」に非常によく似ています(同じHLT命令が使用されます)が、違いは、「C状態とは対照的に、4番目のサイクルごとに強制的にスリープサイクルになるように」上記の値は、システムの負荷によって自動的に決定されます)。頻度は変更されていないことに注意してください。以下の「P状態」を参照してください。
CPU-P状態(パフォーマンス)
最近の多くのプロセッサ(特にラップトップ)では、実際に「オンザフライ」でクロック周波数を遅くすることができます。これにより、電力が大幅に節約されます。Intelはこれを「SpeedStep」と呼び、AMDは「Cool'n'Quiet」または「PowerNow」と呼びます。より一般的には、これらの状態は「P状態」と呼ばれます。BIOSにアクセスして、この機能を最初にCPUに対して有効にする必要があります。
**いくつかの消費ベンチマーク:**
上記のCPU状態からの節電は何ですか?以下のデータは、AMD Webサイトから抽出されたものです。1 MBのL2キャッシュを搭載したAMD 64 3400 + / 2200MHzを検討してください。ところで、私がここにいる間に、AMDの命名規則について不平を言ってみましょう。3400+という数字は、ジャックスクワットを意味するものではありません。これは、このプロセッサが3400MHzで動作するIntel Pentium-4に「似ている」というAMDの言い方です。これが彼らの市場シェアを失わない方法だと思います。PおよびT状態の消費電力値は次のとおりです(C状態はT状態と同じHLT命令です)。
[EDIT#1]:周りグーグルで、私はあまりにもいくつかのフォーラムでは、いくつかの他の記事を見つけました(openSUSEのフォーラムは、あなたが求めるものに関連すると思わ)と、これはそれがウィンドウのLinux用の問題の多くであるとことではないことが判明し、特にゲームで。また、関連があると思われるRedHatメーリングリストの2つのメール(最初のメールと2番目のメール[フォローアップ])で情報を掘り下げました。現在、その情報を調査しています。
[編集#2]:私はこの問題を少し調査しましたが、知らないACPIがない限り、Linuxにコアパーキングメカニズムがないことをますます確信しています。いくつかの興味深い発見は、CPUの直接操作を可能とするソフトウェアのいくつかの作品と同様に、その上で動作するプロセスですcpusetの、numactlと最後ではなく、少なくとも、CPUfreqの。私の研究を続けます。
ここで、コアパーキングは、電力を節約するためにcステートを進めるコアの設定に関連していると言及している記事があります。c状態は、halt命令で設定されます。NlightNFotisが述べているように、これはLinuxのACPIサポートを使用して行われます。
Intelが作成したpowertop
(sudo apt-get install powertop
)オープンソースプログラムを使用すると、Linuxによってコアが配置される状態に関する情報をさらに取得できる場合があります。ハードウェアがさまざまなc-stateをサポートしている場合、Ubuntu Linuxによってコアがこれらの低電力状態にされる時間の割合を伝えることができるはずです。下記参照。Cステートが大きいほど、節約される電力が大きくなります。
さらに多くの情報も提供します。
また、Windowsのように、Linuxを実行する作業がある場合、需要の量、電力を節約したい欲求などに応じて、コアが実行される頻度を調整できます。
私のラップトップはc-statesをサポートしていませんが、中断することができます。以下に示すように、Atomプロセッサを搭載した小さなAcerがそれらをサポートしています。