「オンデマンド」CPUスケーリングデーモンを無効にする


13

10.04へのアップグレードの時点で、「オンデマンド」CPUスケーリングデーモンを実行しているサーバーがあります。なぜこれが自動的にインストールされるのですか?パフォーマンスを犠牲にしてサーバーの電力を節約したくありません。


5
オンデマンドガバナーとパワーセーブガバナーを間違えています。
レオンナルデラ

3
レオンと合意した。オンデマンドは、何かすることがある場合は高速化し、アイドリングしている場合は減速します。CPUの速度を変更する機能を制限するのではなく、それを利用します。
マコ


ほとんどアイドル状態のサーバーでの応答時間が増加します。
大学の学生14

回答:


32

/etc/init.d/ondemand(Georgeが推測する)スクリプトの実行を無効にする代わりに、thisコマンドを使用する必要があります。

sudo update-rc.d ondemand disable

initシステムがスクリプトを開始しないようにするために、これが認識されている方法です!sudo chmod -x /etc/init.d/ondemandパッケージが更新されると、exec許可()を無効にすると上書きされる場合があります。


sudo update-rc.d other_governor enableを実行すると、永続的な望ましいガバナーが設定されますか?
userDepth

5

周波数スケーリングは静的ではありません。実行する作業があるとすぐに、CPUはアクションにホップし、P状態がブーストアップし、すべてが飛びます。

広く利用されているのは良いことだからです。エネルギーを節約します(財布と環境に良い)。熱を保ちます(サーバールームで非常に重要)。そして、それはかなり目立たない。

さらに、最新のIntelチップでは、スケーリングを行う場合、1つのコアが一時的にストックよりも高速で実行される「ターボブースト」を使用できます。これは、シングルスレッドの作業が急増する場合に非常に便利です。スケーリングを有効にしないと、これを取得できません。


P4 Xeonでスケールアップするには、オンデマンドでどのくらい時間がかかりますか?
大学の学生

この古い答えに出くわし、Oliには同意しますが、CPUスケーリング(オーディオ録音など)を無効にする特定のユーザーケースがあります。特定のニーズがない限り、オンデマンドのままにしてください
パンサー

偶然に、どのプロセスが周波数スケーリングの最小/最大値を絶えず変化させているかを知る方法はありますか?それは常に変化し、その理由はわかりません。参照askubuntu.com/questions/800797/how-to-enable-turbo-boost
セバスチャン・ローバー

2

rcconf debianツールをインストールできます:

sudo apt-get install rcconf

次に、そこから「オンデマンド」サービスを無効にします。


私はrcconfツールに関する非推奨の警告を見つけることができません。あなたはポイントを失い、完全に間違ったURLを提供しました。私はArchのrcスクリプトの設定方法ではなく、debianツールであり、それは生き生きとしています。
マヌエル

それを指摘し、役立つリンクを提供してくれてありがとう!(最初の間違ったコメントを削除しました)
ナッツについてのナッツ

元の応答も編集しました!
マヌエル

2

すべてのCPUをパフォーマンスガバナーに設定します。

for GOVERNOR in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; \
do \
    echo "performance" | sudo tee $GOVERNOR; \
done

Linuxカーネルがサポートするすべてのガバナー:

  • パフォーマンス最大周波数でCPUを実行します。
  • powersave CPUを最小周波数で実行します。
  • userspaceユーザー指定の周波数でCPUを実行します。
  • ondemand現在の負荷に応じて周波数を動的にスケーリングします。最も高い周波数にジャンプしてから、アイドル時間が長くなると元に戻ります。
  • conservative現在の負荷に応じて周波数を動的にスケーリングします。オンデマンドよりも徐々に周波数をスケーリングします。
  • schedutilスケジューラー駆動型CPU周波数選択

https://www.kernel.org/doc/Documentation/cpu-freq/governors.txtを参照してください


2
注意、sudo echo > ...あなたが期待する何をしていません。askubuntu.com/q/230476/158442
muru

1

UbuntuのデスクトップまたはサーバーですべてのCPUを最大パフォーマンスで継続的に実行するには、次を実行します。

sudo chmod -x /etc/init.d/ondemand

シェルプロンプトでパスワードを入力します。これにより、すべてのCPUを「OnDemand」の速度で実行するシェルスクリプトが無効になり、デフォルトで全速度(パフォーマンス)になります。これを有効にするには、再起動する必要があります。

これはUbuntu Jaunty 9.04でしかテストしていませんが、Ubuntuのどのバージョンでも問題なく動作するはずです。

Ubuntuのデフォルトはこれには奇妙だと思います。私の意見では、デスクトップまたはサーバーはフルスピードで実行する必要があります。

よろしく、ジョージ


1
変だとは思わない。確かにモバイルは省電力の最も重要なシナリオですが、電力使用量を削減することは、デスクトップシナリオでのファンノイズを減らし、サーバールームで扱う熱を減らすことも意味します。絶えず最高速度で実行するのは少し無駄ですが、実際に必要な場合にのみ必要ですondemand
ボビンス

@bobince-おそらく正しいでしょうが、デスクトップの場合、パフォーマンスに比べてOnDemandの応答が遅くなることに気付きました。上記の変更でもコンピューターは適切にスリープできると思います。System / AdministrationまたはSystem / Preferencesのオプションである必要があります。
ジョージゲスラインII

理にかなっている唯一の場所は、CPUをスケーリングすることによって充電時間が短縮され、バッテリー時間が延長されるラップトップ上です。
ラッセポールセン

環境を保存しますか?
ナッツについてのナッツ

1

一部のシステムでは、「オンデマンド」ガバナーが残念ながら壊れています。

これは、「Intel(R)Core(TM)2 Quad CPU Q9300 @ 2.50GHz」およびカーネル2.6.32-42の場合です。

カーネルは、各CPUに対して個別に周波数を設定できると考えていますが、ハードウェアは実際には複数のCPUのグループ(たとえば、CPU 0と1を同時に、CPU 2と3を一緒に)でのみ周波数を設定できます。

「0」、「1」、「2」、「3」を含む/ sys / devices / system / cpu / cpu * / cpufreq / affected_cpusファイルを調べると、カーネルがこれを認識していないことがわかります。 「0 1」、「0 1」、「2 3」、「2 3」の代わりに。

このミスマッチの目に見える効果は、1つのCPUでフルスピードの実行を開始するシングルスレッドプロセスです(「オンデマンド」ガバナーは高速に反応します)。その後、約20秒後に(設定の詳細に応じて)速度の一部が失われます。

その理由は、「オンデマンド」ガバナーを備えたOSがアイドルCPUに低周波数を定期的に再適用するためであり、ビジー状態のCPUの周波数も暗黙的に変更するとは考えていません。/ sys / devices / system / cpu / cpu * / cpufreq / * cur_freqまたは/ proc / cpuinfoを見ても見えません。OSはそれを認識していません!

したがって、これらのシステムでは、ソリューションは単純な「パフォーマンス」ガバナーに切り替えることです。

PS:私の場合、CPUを常に最高周波数で動作させても、ファンノイズに関しては何も変わりませんでした。CPUがアイドリングしているとき、低い周波数でも高い周波数でも電力使用量に大きな影響はないと思います。


0

新しいプロセッサAMD Athlon II X4 631(ソケットFM1用のFusionプロセッサ)を使用していますが、エネルギーをまったく節約できません(エネルギーメーターで調べました)。ターボコアがないため、オンデマンド設定は必要ありません。ほとんどの新しいプロセッサは、それ自体でエネルギーを節約します。

ベンチマーク時に、オンデマンドとパフォーマンス設定を比較すると、1〜2%の範囲でわずかな違いがあります。


AskUbuntuへようこそ!回答が調査済みの回答ではなく意見として誤解される可能性があるため、完全な統計/研究を使用してステートメントをバックアップすることをお勧めします。
オイボ

また、これは間違っている、Appleのは、今週トラブルになって電力を節約するためにデバイスを減速
Xen2050

-1

これは古いですが、誰もそれを言及していない、と完全性のために、私は最高速度で実行されますCPUは電力等、農産物熱、ファンの騒音を無駄にする方法の引数があることを追加しますので、間違いました

ほぼすべての最新のCPU、特にデスクトップ/サーバーCPUは、アイドル状態(ディープスリープモード)になります(グーグルレースからアイドル)。

電圧スケーリングはおそらくより多くの電力を節約するため、ラップトップではこれにより実行時間が少し長くなる可能性がありますが、パフォーマンスガバナーを実行しているデスクトップおよびサーバーでは、ほとんどの「通常の」ユーザー(サーバーファームなどを実行しない)に適しています。

i7-2600kでパフォーマンスgovを使用し、CPU温度は通常約30 Cです。


これも間違っています。CPUの温度を監視し、周波数を変更して自分で確認します(システムが完全/正しく実装していない場合を除く)。通常の周波数のような音/速度スケーリング、あまりにもアップルのリンクを参照してください
Xen2050

@ Xen2050、あなた自身のために何を見るために?70℃で2秒間動作するCPUは、60度で5〜6秒間動作するCPUよりも多くの電力を消費する可能性がありますか、それともその方向にあるのでしょうか。特定の瞬間にCPUの温度を監視するほど簡単ではありません。
デニス

@ Xen2050リンクはiPhoneを指します。iPhoneはまったく異なるアーキテクチャまたはプロセッサです。特定のガバナーと組み合わせた電圧スケーリングは、たとえばラップトップで役立つ可能性があることを示しており、デスクトップ(ワークステーション)およびサーバープロセッサについて明示的に言及しましたが、実際のところ、私が話していたものは何年も電話にも存在します(この場合、状況はおそらくより複雑です。MPUが特定のC / P状態を適切に利用するには、適切なガバナーが必要になる場合があります。とにかく私が入力したものをもう一度読み、「アイドル状態へのレース」とプロセッサーのディープスリープモードをグーグルで調べてください。
デニス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.