Ubuntu 14.04でAMD Turbo Coreを有効にする方法


9

AMD A8-4500mベースのラップトップでUbuntu 14.04(3.13.0-24-genericカーネル)を使用していますが、最近、AMD Turbo Coreがまったく機能していないことに気付きました。すべてがWindowsで機能しますが、LinuxではCPU周波数が1.9 GHzを超えることはできません(で確認cpufreq-aperf)。

これがの出力ですcpupower frequency-infoアクティブに注意してくださいアンダーブースト状態のサポートはありません

analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 4.0 us.
  hardware limits: 1.40 GHz - 1.90 GHz
  available frequency steps: 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.40 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.90 GHz and 1.90 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.90 GHz (asserted by call to hardware).
  cpufreq stats: 1.90 GHz:32,63%, 1.80 GHz:0,74%, 1.70 GHz:0,50%, 1.60 GHz:1,20%, 1.40 GHz:64,93%  (9287)
  boost state support:
    Supported: yes
    Active: no
    Boost States: 2
    Total States: 8
    Pstate-Pb0: 2800MHz (boost state)
    Pstate-Pb1: 2300MHz (boost state)
    Pstate-P0:  1900MHz
    Pstate-P1:  1800MHz
    Pstate-P2:  1700MHz
    Pstate-P3:  1600MHz
    Pstate-P4:  1400MHz
    Pstate-P5:  900MHz

その他のテスト(オンデマンドスケジューラと、バックグラウンドで1920x1080 H.264ビデオをデコードするffmpegの3つのインスタンスで実行):

[m132@m132 turbostat]$ sudo cpupower monitor
[sudo] password for m132: 
     |Mperf               || Idle_Stats         
 CPU | C0   | Cx   | Freq || POLL | C1   | C2   
    0| 97,78|  2,22|  1821||  0,00|  0,00|  0,00
    1| 97,84|  2,16|  1821||  0,00|  0,00|  0,00
    2| 99,22|  0,78|  1807||  0,00|  0,00|  0,00
    3| 99,18|  0,82|  1808||  0,00|  0,00|  0,00
[m132@m132 turbostat]$ sudo ./turbostat 
cor CPU   GHz  TSC time
        1.81 1.90   5**
  0   0 1.81 1.90   5**
  1   1 1.81 1.90
  2   2 1.80 1.90
  3   3 1.81 1.90

編集: Trinityシリーズのプロセッサーには、ソースに独自のBAPMスイッチがあるようです。これは、drivers / gpu / drm / radeon / trinity_dpm.cにあり、安定性の問題のため、MSIボードに対してのみ(執筆の時点で)有効になっています。これを有効にするには、このファイルを開き、次の行を見つけます。

    pi->enable_bapm = false;

falseをtrueに変更してから、新しいカーネルをコンパイルしてインストールします。カーネルパニックブーストが動作するはずです。CPUパワーもGPUと共有されるので、GPUも使用している場合、最高の周波数が得られることはほとんどありません。


1
奇妙なことに、fglrxを「アクティブ化」したターボコアをインストールすると、「アクティブ:はい」と表示されます。cpufreq-aperf2GHzの周波数が報告されることもありますが、Windowsのように2,3 GHzまたは2,8 GHzに切り替わりません。
m132 2014年

確認のために:カーネル3.14.5を使用したFedoraでA10-7850Kで同じ問題が発生しています:サポート:はい、アクティブ:いいえ。ディストリビューション固有ではないようです。
Chris

カーネルモード設定を無効にしてみてください(nomodesetカーネルコマンドラインで)?これでこの問題は解決しました。
Chris

1
@Chris現在表示されていますActive: yesが、Pstateが表示されcpufreq-aperfておらず、1.9 GHzより高い周波数を報告しないため、この情報は間違っていると思います。また、ソフトウェアOpenGLレンダラーの使用を余儀なくされました。
m132 2014

どうturbostatcpupower monitor?彼らはターボが使用されていることを示していますか?
Chris

回答:


5

[2015年更新]

Linux 3.16以降:

  • の値はbapm、モジュールパラメータとして提供できます(ここを参照)。

  • の値はbapm、Kaveri、Kabini、デスクトップのTrinity、Richlandシステム(ここを参照)のデフォルトで1に設定されているため、Turbo Coreが有効になっています。

どのカーネル3.16以降で、ターボコアがあることを意味すべきでボックスの右アウトを働くradeon多くの場合。

Debianを実行している場合、またはUbuntuを実行していて上記が当てはまらない場合は、Debianシステムのセットアップ方法(2Dまたはコンソール/サーバーに焦点を当てる)を参照して、AMD Turbo Core APUで最大のエネルギーとコンピューティング効率を実現してください。 ?

[2014年8月7日更新]

(少なくとも私にとっては)いくつかの驚きを含む詳細な分析unix-stackexchange.comを公​​開しました。ondemandガバナーがperformance(少なくともリッチランドA10-6700で)潜在的に悪化しているようで、fglrx短期的なブーストを改善するために疑わしいトリックを使用しているようで、長期的にはそれを突然補償する必要があるなどです。これをよく見てよかったです。

[元の回答]

Ubuntu 14.04サーバーを使用して、A10-6700でシステムを構成しているところです。

  • の出力はcat /proc/cpuinfo、プロセッサのブーストを反映しておらず、反映しません。ブーストは、潜在的に複雑な基準に基づく、チップ上の自律的な決定です。それについてはこちらをお読みください
  • の出力にcpufreq-infoは使用可能なブースト周波数は表示されませんが、cpupower frequency-infowill の出力は表示されます。A10-6700の場合、通常の3700、3400、2700、2300、1800 MHzに加えて、4300 MHz(Pb0)、4200 MHz(Pb1)、3900 MHz(Pb2)が表示されます。
  • 出力cpufreq-aperf(後はmodprobe msr)の出力に匹敵しますcpupower monitor。これらのツールで表示される周波数は、ブーストを反映しているはずです。
  • 標準のビデオドライバーまたはradeonカーネル内のモジュールでさえ、A10-6700にブースト周波数を使用させることに成功しませんでした(を使用stress --cpu 2)。
  • fglrxカーネルにATI / AMD モジュールがロードされていると、プロセッサは2つのコアを永続的に(そして明らかに残りのコアも一時的に)ブーストします。これは、Xを使用したり設定したりせずにテストされています。

ブーストの可否の決定は、APUが自律的に行​​うことを覚えておいてください。この時点での私の推測では、統合グラフィックユニットが適切に初期化されていないと、APUは現在の電力損失がブーストの余地を残すかどうかを決定できないと思います。

標準モジュールでのビデオ出力は、fglrxがロードされたときの出力とは異なります。したがって、VGAモジュールを使用しながら、カーネルがAPUをおそらく必要な「スマート」(電力損失認識)モードにできるかどうかを推測することしかできません。

これが整理されるまで、単にロードしますfglrx。欠点は、それ構築するには、サーバー上に不要な多くのものが必要であり、コンパイル後に削除する必要があることです。

また、fglrxサイズはほぼ9 MBです。それは問題ではありませんが、この場合、ほとんどが空輸であると知っていても、私はあまり幸せになりません。

[2014年7月24日編集]

私は今、このバグを報告しました

実際にあなたがいる場合:私は別のバグも報告されている気づい使用fglrxし、ダイナミック・パワー・マネジメントを使用しようモードに。


情報をありがとう。2番目のバグレポートで提案されているように、BAPMを有効にして新しいカーネルをコンパイルして、違いがあるかどうかを確認します:)
m132

3.16カーネルでは、BAPMがデフォルトで有効になっているようです。少なくとも私にとっては、アップグレードしてもこの問題は解決しませんでした。ただし、DPMを無効にすると、1.8 GHzを超える周波数が得られますが、ラップトップが過熱し始め、CPU速度が1.1 GHzに制限されるため、パフォーマンスがさらに低下します。
m132 2014

@ M132それは悲しいです。それでも、それは疑いに貢献しています。-Windowsでも同じ動作が見られますか?-ファン制御に影響を与えることはできますか?-明らかにメーカーがAMDと十分に協力しなかったのは残念です-TurboBoostはTDPの範囲内の通常の機能です。
CMDを実行する

/ homeに別のパーティションを作成するためにWindowsを削除したため、今はテストできません。ファンについては知りませんが、タスクマネージャーで2、3 GHzのCPU周波数が表示されたので、TurboBoostが機能し、過熱しなかったため、DPMも機能しました。
m132 2014

あなたが報告した問題についての昨日のコメントのおかげで、私はついにそれを機能させました!詳細については質問をお読みください:D
m132

2

Ubuntu 13.10で同じAMD A8-4500mを実行しているThinkpadでも同じ問題があります。今日これを見つけたのですが、私の英語はそれほど上手ではないので、理解できませんでした。

https://www.kernel.org/doc/Documentation/cpu-freq/boost.txt

お役に立てれば幸いです。

私が見つけた主な始まりは、ターボコアが11.10以降サポートされていないことです。それが私が見つけたすべてです。私が間違っていることを証明してください。


1
このリンクはTurbo Boost / Coreとは何か、それを有効/無効にする方法を説明しているだけですが、私の場合、/ sys / devices / system / cpu / cpufreq / boostはすでに1(有効)です。
m132 2014年

TurboCoreがサポートされていないことはどこにも述べられていません。逆の場合です。@ M132のコメントが正しい。
CMDを実行する
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.