web-dev-qa-db-ja.com

UbuntuはCore Parkingをサポートしていますか?

コアパーキングは、Windows 7で導入された新しい機能であり、より良くなりますバッテリーパフォーマンス

オペレーティングシステムのリソース使用状況に応じて、マルチコアCPUの1つまたは複数のコアをパークして、コンピューターの電力消費と熱放射を削減します。操作にさらに処理能力が必要になると、パークされたコアが再びアクティブになり、タスクを支援します

だから私の質問は、Ubuntu 12.04でそれを行う方法はありますか?"コアパーキング"

13
Qasim

とりあえず、これに対する明確な答えはありませんが、Linux Kernelがいくつかの省エネメカニズムを使用していることは明らかです

ただし、いくつかの簡単な調査を行ったところ、最新のLinuxカーネルはACPIと呼ばれる高度な設定と電源インターフェイス

ACPIの機能:

advanced Configuration and Power Interface(ACPI)仕様は、オペレーティングシステムによるデバイス構成と電源管理のオープンスタンダードを提供します。

Wikipedia 経由。

基本的に、ACPIはさまざまなCPU状態の制御を可能にし、電力管理を改善します。

異なるACPI CPU状態:

CPU C-States(電源管理)

基本的に、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命令です)。

  • パフォーマンス状態0(完全にアクティブ)(2200MHz):89ワット
  • パフォーマンス状態1(2000MHz):70ワット
  • パフォーマンス状態2(800MHz):35ワット
  • スロットル(HLT命令):2.2ワット

さらに読むための参考文献

編集

[編集#1]:グーグルして、いくつかのフォーラムで他の投稿も見つけました (OpenSuseフォーラムはあなたに関連しているようですseek) andこれは、Linuxの場合、特にゲームの場合ほど問題ではないことがわかりました。私も掘りました関連していると思われるRedHatメーリングリストで、2つのメール( 最初のメール2番目のメール[フォローアップ] )の一部の情報をアップします。現在、その情報を調査しています。

[編集#2]:私はこの問題を少し調査しましたが、Linuxにはコアパーキングメカニズムがないことをますます確信しています。 、私が知らないACPIがない限り。興味深い発見は、CPUとプロセスを直接操作できるソフトウェアの一部です cpusetnumactl 、そして最後になりますが CPUfreq のように実行します。私の研究を続けます。

9
NlightNFotis

記事があります こちら コアパーキングは、電力を節約するためにcステートを進めるためにコアを設定することに関連していると述べています。 c状態は、halt命令で設定されます。 NlightNFotisが述べているように、これはACPIのLinuxのサポートを使用して行われます。

Intelが作成したpowertopSudo apt-get install powertop)オープンソースプログラムを使用すると、Linuxによってコアが配置される状態に関する詳細情報を取得できる場合があります。 Ifハードウェアがさまざまなc-stateをサポートしている場合、Ubuntu Linuxによってコアがこれらの低電力状態に置かれる時間の割合を伝えることができるはずです。下記参照。 Cステートが大きいほど、より多くの電力が節約されます。

さらに多くの情報も提供します。

また、Windowsのように、Linuxを実行する作業がある場合、需要の量、電力を節約したいという要望などに応じて、コアが実行される頻度を調整できます。

私のラップトップはc-statesをサポートしていませんが、中断することができます。以下に示すように、Atomプロセッサを備えたAcerがそれらをサポートしています。

enter image description here

2
John S Gruber