web-dev-qa-db-ja.com

cpufreqのパフォーマンスガバナーは、宣伝どおりに動作しないようです。

使用中のカーネル:Ubuntu 12.04LTS上の3.2.0-23-generic

たとえば、次のコマンドを発行します。

Sudo cpufreq-set -c 0 -g performance

次に、/sys/devices/system/cpu/cpu0/cpufreqに移動して、次のように入力します。

Sudo cat cpuinfo_cur_freq

これを行うと最大周波数(3600 MHz)が得られることがあり、最小周波数(1600 MHz)が得られることもあります。

私が行った場合:

cat scaling_governor

出力はperformanceで、ガバナーが実際にパフォーマンスに設定されていることを示しています。

それから、もっと奇妙にするために、私がそうすれば:

cpufreq-info

私は得る:

analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3 8 9 10 11
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.60 GHz - 3.60 GHz
  available frequency steps: 3.60 GHz, 3.60 GHz, 3.47 GHz, 3.33 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 3.60 GHz and 3.60 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.60 GHz.
...

上記の現在のポリシーを見ると、CPUが3.60 GHzで固定されるべきであることがわかります。それでも、cpuinfo_cur_freqは別の話をしているようです。

4

悲しいことに、12.04では、cpufreqd-deamonであるかcpufreq-cliであるかにかかわらず、Unity-appletは他のアプリで行った設定を上書きします。 Ubuntuのドキュメントを参照しているときに見つけた最も簡単な解決策は、/etc/cpufreqd.confを編集し、次のようにOn Demandというプロファイルを最初に追加することでした。

[Profile]
name=On Demand
minfreq=10%
maxfreq=100%
policy=ondemand
[/Profile]

次に、#basic状態を過ぎて下にスクロールし、すべてのBasic状態のプロファイルとして新しいOn Demandプロファイルを選択する必要があります。

現在の問題は、cpufreqdがAC状態のacpiをポーリングし、ACが接続されていることを確認し、CPUガバナーをパフォーマンスに設定することです。これは、構成ファイルの基本ルール。コマンドラインまたはUnityのスケーリングアプレットのいずれかで別のガバナーを選択したことはそれほど気になりません。

実行することを忘れないでください

Sudo service cpufreqd restart

構成ファイルを編集した後。

楽しい事実:ユニティアプレットでパフォーマンスガバナを選択した場合、cpufreqdはオーバーライドしないようです。しかし、構成ファイルを編集する前に、オンデマンドの選択を常にオーバーライドし、パフォーマンスにフォールバックします。理由はわかりません。

後でこの回答を読んでいる人にとって何か意味がある場合は、powernow-k8ドライバーを使用します。

注:Ubuntuのドキュメントは深刻な欠如cpufreqd(同様に)に関するものであり、問​​題に対するより良い/簡単な/ GUIソリューションがあるかもしれません。

6
Gert

CPUの周波数が一時的に低下する場合は、CPUが温度の限界に達し、温度が低下するまで縮小されることが原因である可能性があります。ただの推測。

0
Colin Ian King