Debianを使ってAMD APUシステムをセットアップする予定ですが、最大の電力効率を達成し、Turbo Coreをうまく使用する方法についてのヒントが見つかりません。特に、Debian Wiki CPUの周波数を調整する方法AMDシステムにはあまり役に立ちません。
AMD APUの機能をデプロイするには、Debianシステムをどのように設定する必要がありますか?
答え1
基本的な
AMD APUでは、次の要素に注目する価値があります。
radeon
システムがコンソール出力のみを使用している場合は、ドライバを使用する必要があります。radeon
ドライバが処理するアクティブコンソールは、バックアップドライバとA10-6700(Richland)と比較して8Wを節約します。fglrx
コンソールがアイドル状態の場合、さらにradeon
2Wが節約されます。AMD APUのターボコア機能は何らかの方法で有効にする必要があります。一部の人々が信じているのとは異なり、ターボコア(一度起動すると自律APU機能)はAPUレベルでうまく機能し、合法的なユースケースを持っています。ただし、ドライバーが
radeon
必要でfglrx
あり、どちらの場合も注意が必要です。
A10-6700 Richlandシステム全体(ファン、DDR3-1866 RAM、シングルSSDを含む)のアイドル消費電力を40Wから30Wに減らすことが価値があると思う場合、またはより長い間最大ターボコア速度を望む場合(使用可能)ターボコア周波数はグラフィックスと温度を含むチップ全体の消費電力に基づいているため、注意が必要です。
上記のすべての声明は以前の分析に関連しています。完全なAMD APU電源管理サポート(Turbo Core、Cool'n'Quiet、動的電源管理)用にLinuxを設定するには?
/proc
AMD /sys
APUコアの実際の周波数情報に必ずしも依存する必要はありません。安全を確保するには、後ろcpufreq-aperf
(またはまたはcpupower frequency-info
)cpupower monitor
を使用してくださいmodprobe msr
。
悲しいことに、Debian Jessie 8.2(およびDebian Jessie 8.2を含む)以降、デフォルトのDebianインストールではAMD APUのすべての機能を取得できません。。
Debian オプション 1:fglrx
ダイバー
AMDのLinuxfglrx
ドライバはTurbo Coreをサポートしていますが、これは驚くべきことではありません。
しかし、APUは無料のLinuxドライバを介してradeon
非常に合理的で便利なTurbo Coreの動作を示していますが、fglrx
。fglrx
コアアフィニティプロセス。たぶんAPUのマイクロコードを置き換えることができます。ただし、fglrx
詳細レベルがどのように機能するかにかかわらず、次の利点があります。
4つのコアを持つAPUで最大のパフォーマンスを必要とする2つのプロセスがある場合、Linuxは2つの別々のAPUモジュールで実行します。 (たとえば、A10-6700にはそれぞれ2つのコアを持つ2つのモジュールがあり、各コアには小さな独立したL3キャッシュがありますが、同じモジュール内の2つのコアはL2キャッシュを共有します。)この初期設定は最大パフォーマンスと高いパフォーマンスを提供します。消費電力。 (この例では、A10-6700の消費電力が70W増加します。)
しかし、
fglrx
APUが高すぎると、プロセスの1つが別のモジュールの2番目のコアに再配置されます。 (これにより、2つのAPUモジュールを使用する場合と比較して、A10-6700の消費電力が25W減少します。)これは、高いコア周波数をより長い時間にわたって見せると推定されます。ただし、L2キャッシュに必要なデータがないため、移行プロセスが一時的に中断される可能性が高く、通常は共有L2キャッシュのため、移行後のパフォーマンスが低下します。APU制限に達する前にコア周波数を少しでも下げるための事前措置が取られていないため、
fglrx
プロセスが長期間実行されるとコア速度が大幅に遅くなる可能性があります。これは、バースト後にAPUが冷えるまで、より低い周波数で生活する必要があることを意味します。
fglrx
コア周波数デモを超えた動作はやや疑わしいです。私の考えでは、全体的なパフォーマンスが良くなると思いますradeon
。しかし、もし2D / 3Dシステムが必要で、突然の周波数スケーリング動作が許容できると思われる場合は、fglrx
Debian 7以降を選択できます。。あなたfglrx
GNOMEデスクトップを使用する予定がない場合は、Debian 8を選択することもできます。。
Debian オプション 2:radeon
ドライバー
前述のように、このradeon
ドライバはコンソールモードの消費電力を削減し、よりシームレスなTurbo Core環境を提供します。あなたが支払うべき対価はより悪い3Dサポートです。
Debian 6(Squeeze):Linux 3.2をバックポートとして使用しても、
radeon
ドライバはAPUのTurbo Core機能を処理できません。Debian 7(Wheezy):Linux 3.16をバックポートとして使用できます。 Linux 3.16にアップグレードしてください(他の要件がない場合)。下記をご覧ください。
Debian 8 (Jessie): Linux 3.16 ベース。下記をご覧ください。
Turbo Coreの処理を担当するフラグはドライバファイルにbapm
あります。 Linux 3.16 以前は、特定の構成の信頼性の問題により常に無効になっていました。 Linux 3.16以降、2つの変更が計画されています。trinity_dpm.c
radeon
値は
bapm
モジュールパラメータとして提供できます(参照:ここ)。Kaveri、Kabini、およびデスクトップTrinity、Richlandシステムの場合、値はデフォルトで
bapm
1に設定されています(参照:ここ)、ターボコアが作動する。
これは、現在のLinuxカーネルを使用してすぐに最高の価値(ターボコア、省電力コンソール)を取得する可能性が高いことを意味します(現在のArchLinuxインストーラの場合)。
私が驚いたのは、Debian Jessie 8.2インストーラを使用しても、2つのことを知っておく必要があります。:
ポリシーによると、Debianは基本的に必要なマイクロコードを提供しません。これを提供する必要があります。とを追加し
non-free
、contrib
で関連項目を実行します。/etc/apt/sources.list
sudo apt-get update
sudo apt-get install firmware-linux-nonfree
興味深いことに、3.16はデフォルトですが、Turbo Coreはいいえ私は最近ArchLinuxが成功したのと同じシステムで作業しています。 Debian 3.16カーネルが古すぎるため、デフォルト値をマージできないか、マイクロコードを分離したDebianパッチにいくつかの副作用がある可能性があります。どちらの場合でも、
bapm
起動時に値を指定することで、マイクロコード付きのDebian Jessieに対してTurbo Coreを有効にできます。radeon.bapm=1
値に追加して実行します。GRUB_CMDLINE_LINUX_DEFAULT
/etc/default/grub
sudo update-grub
この2つの変更の後、Turbo Coreと低コンソール消費電力が私に魅力的に作用しました。