私の目的は、アイドルモードでの消費電力が少なく、使用時に優れたパフォーマンスを提供する(HTPCではなく)ミニサーバーをセットアップすることです。焦点は可用性よりもデータの安全性にあります。つまり、高品質のパーツですが、冗長性はストレージのみです。
偏見があるとは考えていませんでしたが、いくつかの調査の結果、AMDデスクトップAPUの中には優れた価値を提供するものがあると感じました。
残りの質問は次のとおりです。
[編集:プロセッサの選択に関する結論]
[編集:無料のradeonドライバのbapm
パラメータは、Linux 3.16以降のKaveri、KabiniおよびデスクトップTrinity、Richlandシステムに対してデフォルトで設定されています]
[pull] radeon drm-fixes-3.16 を参照してください。
ただし、3.16ベースのDebianに関しては、ブートパラメータは機能しますが、デフォルトは(まだ?)機能していないようです。 AMD Turbo CoreでDebianシステムをセットアップする方法(2Dまたはコンソール/サーバーに焦点を当てる方法)APUエネルギーと計算効率を最大化するには?
[編集:無料のradeonドライバーにはまもなくbapm
パラメーターが追加されます]
以下の一番下の行は、あなたのAPUで無料のradeon
ドライバーのパッチバージョンを使用してターボコアをサポートし、それを最大限に活用することです(3Dグラフィックスを除く)できます(bapm
を有効にすると、構成によっては不安定になる可能性があります)、 radeonの将来のバージョンには、bapmを有効にするパラメーターがあります です。
[元の投稿が続きます]
私の最初のPCは、Slackwareソースパッケージを含む3.5インチの数十枚のフロッピーディスクからセットアップされた486DX2-66でした。その後、多くの変化があり、現在多くの業界がまだ数を増やしている段階にあるようです製品バリエーションの。
このような状況と、最近のAMDの不幸な決定の一部により、ミニサーバーのプラットフォームを決定するのは簡単ではありませんでした。しかし最後に、私はA10-6700が良い選択であると決めました:
プロセッサの数は無数ですが、利用できるMini-ITXボードはそれほど多くありません。 ASRock FM2A78M-ITX +が妥当な選択であるように思われました。テストはファームウェアV1.30で行われました(これを書いているので、アップデートはありません)。
電源の公称出力の80%だけが消費されます。一方、50%未満の負荷では、多くが効率的に機能しません。 35Wから120Wの推定消費電力範囲を持つシステム用のエネルギー効率の高い電源を見つけることは非常に困難です。私はこれらのテストをSeasonic G360 80+ Goldで行いました。これは、低負荷での効率に関して、ほとんどの競合他社よりも優れているためです。
2つの8 GB DDR3-1866 RAM(そのように構成されている-これは1333と比較して違いがあります)、1つのSSDドライブ、およびPWM制御品質のCPUファンもテストセットアップの一部でした。
測定は、正確な測定を行うことが報告されているAVM Fritz!DECT 200を使用して行われました。それでも、古い名前のないデバイスを使用して妥当性が検証されました。不整合は確認できませんでした。測定されたシステム電力損失には、低負荷での電源の効率低下が含まれます。
[W] QHD画面がHDMI経由で接続されました。
GPUの初期共有メモリは、UEFI BIOSで32Mに設定されていました。また、オンボードGPUがプライマリとして選択され、IOMMUが有効になりました。
Xまたはその他のグラフィカルシステムはインストールまたは構成されていません。ビデオ出力はコンソールモードに制限されていました。
知っておくべきことがいくつかあります。
/proc
_および_/sys
_の場所と同様に、多くのツールはTurbo Coreアクティビティを報告しません。 _cpufreq-aperf
_、_cpupower frequency-info
_および_cpupower monitor
_は、ただし_modprobe msr
_の後にのみ実行されます。私は新しいArch Linux(インストーラー2014.08.01、カーネル3.15.7)から始めました。ここでの重要な要素は、_acpi_cpufreq
_(カーネルCPUスケーリング)およびradeon
(カーネルGPUドライバー)の存在と、radeon
にパッチを適用する簡単な方法です。
UEFI BIOS Turbo Core設定................................................有効 UEFI BIOS Cool'n '静かな設定..........................有効 /sys/devices/system/cpu/cpufreq/boost .... ............... 1 /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ... ondemand
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 「/ proc/cpuinfo」cpu MHz範囲の観測... 1800-3700 観測された「cpupowerモニター」の周波数範囲... 1800-3700 /sys/kernel/debug/dri/0/radeon_pm_info ...電力レベル0
ロード| Core Freqs --------------- + ----------- stress --cpu 1 | 1 x 3700 stress --cpu 2 | 2 x 3700 stress --cpu 3 | 3 x 3700 stress --cpu 4 | 4 x 3700
UEFI BIOS Turbo Core設定................................................有効 UEFI BIOS Cool'n '静かな設定..........................有効 /sys/devices/system/cpu/cpufreq/boost .... ............... 1 /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ...パフォーマンス
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 「/ proc/cpuinfo」cpu MHz範囲の観測... 3700 観測された「cpupowerモニター」の周波数範囲... 2000-3700 /sys/kernel/debug/dri/0/radeon_pm_info ...電力レベル0
ロード| Core Freqs --------------- + ----------- stress --cpu 1 | 1 x 3700 stress --cpu 2 | 2 x 3700 stress --cpu 3 | 3 x 3700 stress --cpu 4 | 4 x 3700
radeon
ドライバは現在、一部のシナリオでの安定性の問題のためにbapm
フラグを無効にするため であるため、このシナリオではターボコアベースのブーストは不可能です。したがって、それ以上のテストはスキップされました。
bapm
を有効にするために、新しいArch Linux(インストーラー2014.08.01、カーネル3.15.7)から始めて、core
(3.15.8)を介してlinux
ABS
パッケージを取得し、PKGBUILD
を編集して_pkgbase=linux-tc
_を使用しましたでソースを引っ張った makepkg --nobuild、_pi->enable_bapm = true;
_のtrinity_dpm_init()
の_src/linux-3.15/drivers/gpu/drm/radeon/trinity_dpm.c
_を変更し、 makepkg --noextract。次に、それをインストールしました(pacman -U linux-tc-headers-3.15.8-1-x86_64.pkg.tar.xz そして pacman -U linux-tc-3.15.8-1-x86_64.pkg.tar.xz)および更新されたGRUB
(grub-mkconfig -o /boot/grub/grub.cfg しかし、もちろん、YMMV)。
その結果、linux
または_linux-tc
_を起動するという選択肢が与えられ、以下のテストでは後者を参照しています。
UEFI BIOS Turbo Core設定................................................有効 UEFI BIOS Cool'n '静かな設定..........................有効 /sys/devices/system/cpu/cpufreq/boost .... ............... 1 /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ... ondemand
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 「/ proc/cpuinfo」cpu MHz範囲の観測... 1800-3700 観測された「cpupowerモニター」の周波数範囲... 1800-4300 /sys/kernel/debug/dri/0/radeon_pm_info ...電力レベル0
ロード|コア周波数 --------------- + ----------------- stress --cpu 1 | 1 x 4300 stress --cpu 2 | 2 x 4200 .. 4100 stress --cpu 3 | 3 x 4100 .. 3900 stress --cpu 4 | 4 x 4000 .. 3800
UEFI BIOS Turbo Core設定................................................有効 UEFI BIOS Cool'n '静かな設定..........................有効 /sys/devices/system/cpu/cpufreq/boost .... ............... 1 /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ... performace
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 「/ proc/cpuinfo」cpu MHz範囲の観測... 3700 観測された「cpupowerモニター」の周波数範囲... 2000-4300 /sys/kernel/debug/dri/0/radeon_pm_info ...電力レベル0
ロード|コア周波数 --------------- + ----------------- stress --cpu 1 | 1 x 4300 stress --cpu 2 | 2 x 4200 .. 4100 stress --cpu 3 | 3 x 4100 .. 3900 stress --cpu 4 | 4 x 4000 .. 3800
UEFI BIOS Turbo Core設定................................................有効 UEFI BIOS Cool'n '静かな設定..........................有効 /sys/devices/system/cpu/cpufreq/boost .... ............... 0 /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ... ondemand
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 「/ proc/cpuinfo」cpu MHz範囲の観測... 1800-3700 観測された「cpupowerモニター」の周波数範囲... 1800-3700 /sys/kernel/debug/dri/0/radeon_pm_info ...電力レベル1
ロード| Core Freqs --------------- + ----------- stress --cpu 1 | 1 x 3700 stress --cpu 2 | 2 x 3700 stress --cpu 3 | 3 x 3700 stress --cpu 4 | 4 x 3700
UEFI BIOS Turbo Core設定................................................有効 UEFI BIOS Cool'n '静かな設定..........................有効 /sys/devices/system/cpu/cpufreq/boost .... ............... 0 /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ... performace
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 「/ proc/cpuinfo」cpu MHz範囲の観測... 3700 観測された「cpupowerモニター」の周波数範囲... 2000-3700 /sys/kernel/debug/dri/0/radeon_pm_info ...電力レベル1
ロード| Core Freqs --------------- + ----------- stress --cpu 1 | 1 x 3700 stress --cpu 2 | 2 x 3700 stress --cpu 3 | 3 x 3700 stress --cpu 4 | 4 x 3700
UEFI BIOS Turbo Core設定............................無効 UEFI BIOS Cool'n '静かな設定..........................有効 /sys/devices/system/cpu/cpufreq/boost .... ............... 1 /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ... ondemand
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 「/ proc/cpuinfo」cpu MHz範囲の観測... 1800-3700 観測された「cpupowerモニター」の周波数範囲... 1800-3700 /sys/kernel/debug/dri/0/radeon_pm_info ...電力レベル0
つまり、BIOSでTurbo Coreが無効になっている場合、パッチを適用したradeon
はそれを有効にしません。
UEFI BIOS Turbo Core設定................................................有効 UEFI BIOS Cool'n '静かな設定..........................無効 /sys/devices/system/cpu/cpufreq/boost .... ............... n/a /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ... n/a
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 「/ proc/cpuinfo」cpu MHz範囲の観測... 3700 観測された「cpupowerモニター」の周波数範囲... 2000-4300 /sys/kernel/debug/dri/0/radeon_pm_info ...電力レベル0
ロード|コア周波数 --------------- + ----------------- stress --cpu 1 | 1 x 4300 stress --cpu 2 | 2 x 4100 .. 4000 stress --cpu 3 | 3 x 4000 .. 3800 stress --cpu 4 | 4 x 3900 .. 3700
Cool'n'Qietを無効にすると、Linuxカーネルはガバナーの選択を提供せず、(誤って)コアが固定周波数で実行されると想定します。興味深いことに、結果として得られるターボコア周波数は、テストケースグループ2でテストされたすべての組み合わせの中で最悪です。
パッチを当てたradeon
ドライバーを使用すると、Turbo Coreが機能します。これまで、不安定性(bapm
別名Turbo Coreがそこで無効にされている理由)は確認されていません。
_acpi_cpufreq
_(カーネルCPUスケーリング)が存在するため、Ubuntu(14.04サーバー、カーネル3.13)の新規インストールから始めました。およびradeon
(カーネルGPUドライバー)。 Ubuntuに切り替える理由は、fglrx
を簡単にインストールできることです。 radeon
を使用する新規インストールで消費電力と動作を検証しました。
コマンドラインからfglrx
をインストールしました(Sudo apt-get install linux-headers-generic、 Sudo apt-get install fglrx)、システムを再起動しました。 radeon
からfglrx
への変更は、コンソールの外観(fglrx
:128 x 48、radeon
:はるかに高い)とアイドルモードの電力消費(fglrx
:40W、radeon
:30W)の両方に関してすぐにわかります。しかし、Turbo Coreはすぐに動作します。
UEFI BIOS Turbo Core設定................................................有効 UEFI BIOS Cool'n '静かな設定..........................有効 /sys/devices/system/cpu/cpufreq/boost .... ............... 1 /sys/devices/system/cpu/cpu */cpufreq/scaling_governor ... ondemand
"cpupower frequency-info" Pstates ........ 4300 4200 3900 3700 3400 2700 2300 1800 観測された「/ proc/cpuinfo」cpu MHz範囲... 1800-3700 観測された「cpupowerモニター」の周波数範囲... 1800-4300 /sys/kernel/debug/dri/0/radeon_pm_info ... n/a
ロード|コア周波数 --------------- + --------------------------- - stress --cpu 1 | 1 x 4300 stress --cpu 2 | 2 x 4200 .. 3900(コア変更) stress --cpu 3 | 3 x 4100 .. 3700 stress --cpu 4 | 4 x 4000 .. 3600
fglrx
の動作は間違いなく興味深いものです。 'stress --cpu 2'が任意のテストケースグループのいずれかのtesケースに対して呼び出されたとき、2つのロードされたコアは常に別々のモジュールに配置されていました。しかし、fglrx
を使用すると、単一のモジュールが使用されるような突然の再割り当てが発生しました(これにより、以下のかなりの電力が節約されます)。しばらくすると、ロードされたコアが他のモジュールに戻りました。これはradeon
では見られませんでした。 fglrx
がプロセスのコアアフィニティを操作しているのでしょうか?
fglrx
の利点は、パッチを適用する必要なく、Turbo Coreをすぐに有効にすることです。
65ワットTDPのチップ上のシナリオでは、fglrx
はGPUに10〜12 Wを浪費するため、使用可能なコア速度に関する全体的な結果は印象的ではありません。したがって、それ以上のテストは行われませんでした。
また、エンジニアリングの観点からは、fglrx
apperの動作は少し悲しいようです。より高い周波数を維持するために2つのビジーコアの1つを他のモジュールに再割り当てすることは良い考えかもしれませんし、そうでないかもしれません。そのステップの前に、両方のコアは独自のL2キャッシュを持っていましたが、その後、それらは1つを共有する必要があるためです。 fglrx
が判断をサポートするためにメトリック(キャッシュヒットミスなど)を考慮するかどうかは、個別に明確にする必要がありますが、 その突然の動作に関する他のレポートがあります 。
次の表の一部のデルタ値は、温度が上昇するにつれてわずかに悪化します。 PWM制御のファンとチップの両方がそこで役割を果たすと言う人もいるかもしれません。
システム@状態/->移行デルタ|システム消費電力 ------------------------------------- + ---- --------------------- @BIOS | @ 95 .. 86W @Bootloader | @ 108 .. 89W @Ubuntuインストーラーアイドル| @ 40W @Linux radeon Idle ondemand | @ 30W @Linux radeonアイドルパフォーマンス| @ 30W @Linux fglrx Idle ondemand | @ 40W 1モジュール1800-> 3700 | + 13W 1モジュール1800-> 4300 | + 25W 1コア1800-> 3700 | + 5W 1コア1800-> 4300 | + 10W 「radeon」ビデオ出力->無効| -2W 'fglrx "ビデオ出力->暗く| +-0W @Linux radeon最大| @ 103 .. 89W @Linux fglrx最大| @ 105 .. 92W
/proc/cpuinfo
_は常にパフォーマンスガバナーの下で37000MHzを報告し、_cpupower monitor
_はコアが実際にスローダウンすることを明らかにします。場合によっては、2000MHzという低い周波数が示されました。内部で1800MHzも使用される可能性があります。and
taskset -c 1 stress --cpu 1。radeon
を使用すると、 fglrx
を使用すると、これらの制限を大幅に超え、電力損失が急激に減少することが観察されていますが、短期間でより多くを許容し、非常にスムーズに最大値まで減少します。radeon
ドライバーを使用して、長期にわたって4700コア@ 3700MHz(ターボコアでは3800MHz)をサポートします。 GPUが処理を行うときに、このパフォーマンスレベルを維持する可能性はあまりありません。radeon
ドライバーを使用することをお勧めします(特に、ダイナミックパワーマネージメントの有効化と組み合わせて不安定性が発生しない場合)それ以外の場合は、完全な値を取得できません。performance
スケーリングガバナーを選択します-少なくともAPUがondemand
と同じ消費電力になりますが、スケーリングを決定するための周波数スケーリングが高速になり、カーネルオーバーヘッドが少なくなります。bugzilla.kernel.orgで正しい方向に進んでくれた のAlex Deucherに特に感謝します。
無料のradeon
ドライバーの品質には感銘を受けており、慎重に設計されたように見えるこのソフトウェアをメンテナンスしてくれたチーム全体に感謝します。 radeon
がそのように動作しない場合、A10-6700を支持する私の決定は実質的に間違っていたでしょう。