web-dev-qa-db-ja.com

RHEL6を搭載した12G Dellサーバーでの「電力制限通知」の妨害

サーバー:Poweredge r620
OS:RHEL 6.4
カーネル:2.6.32-358.18.1.el6.x86_64

実稼働環境でアプリケーションアラームが発生しています。重要なCPUを必要とするプロセスでリソースが不足し、処理バックログが発生しています。この問題は、最近導入されたクラスター内のすべての第12世代Dellサーバー(r620)で発生しています。私の知る限りでは、このような状況のインスタンスは、ピーク時のCPU使用率と一致しており、dmesgに大量の「電力制限通知」スパムが付随しています。これらのイベントの1つの抜粋:

Nov  7 10:15:15 someserver [.crit] CPU12: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU0: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU6: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU14: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU18: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU2: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU4: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU16: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU0: Package power limit notification (total events = 11)
Nov  7 10:15:15 someserver [.crit] CPU6: Package power limit notification (total events = 13)
Nov  7 10:15:15 someserver [.crit] CPU14: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU18: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU20: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU8: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU2: Package power limit notification (total events = 12)
Nov  7 10:15:15 someserver [.crit] CPU10: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU22: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU4: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU16: Package power limit notification (total events = 13)
Nov  7 10:15:15 someserver [.crit] CPU20: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU8: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU10: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU22: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU15: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU3: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU1: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU5: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU17: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU13: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU15: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU3: Package power limit notification (total events = 374)
Nov  7 10:15:15 someserver [.crit] CPU1: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU5: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU7: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU19: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU17: Package power limit notification (total events = 377)
Nov  7 10:15:15 someserver [.crit] CPU9: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU21: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU23: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU11: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU13: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU7: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU19: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU9: Package power limit notification (total events = 374)
Nov  7 10:15:15 someserver [.crit] CPU21: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU23: Package power limit notification (total events = 374)

少しのGoogle Fuは、これは通常、CPUが熱くなっている、または電圧調整が作動していることに関連していることを明らかにしています。しかし、それが起こっているとは思いません。クラスタ内のすべてのサーバーの温度センサーは正常に動作しており、電力制限ポリシーはiDRACで無効になっており、システムプロファイルはこれらのすべてのサーバーで「パフォーマンス」に設定されています。

# omreport chassis biossetup | grep -A10 'System Profile'
System Profile Settings
------------------------------------------
System Profile                                    : Performance
CPU Power Management                              : Maximum Performance
Memory Frequency                                  : Maximum Performance
Turbo Boost                                       : Enabled
C1E                                               : Disabled
C States                                          : Disabled
Monitor/Mwait                                     : Enabled
Memory Patrol Scrub                               : Standard
Memory Refresh Rate                               : 1x
Memory Operating Voltage                          : Auto
Collaborative CPU Performance Control             : Disabled
  • デルのメーリングリストの投稿 は、症状をほぼ完全に説明しています。デルは、作成者にパフォーマンスプロファイルを試してみるよう提案しましたが、それでも解決しませんでした。彼は最終的にいくつかの設定を適用しました 低レイテンシ環境用のサーバーを構成するためのデルのガイド およびそれらの設定の1つ(またはそれらの組み合わせ)が問題を修正したようです。
  • Kernel.orgバグ#36182 電力制限割り込みデバッグがデフォルトで有効になっているため、CPU電圧調整が作動しているシナリオでパフォーマンスが低下していることに注意してください。
  • RHN KB記事 (RHNログインが必要)は、パフォーマンスプロファイルを実行していないPE r620およびr720サーバーに影響を与える問題について言及しており、2週間前にリリースされたカーネルのアップデートを推奨しています。 ...パフォーマンスプロファイルを実行している場合を除き...

私がオンラインで見つけることができるすべてのものは、私をここで輪にして走らせています。一体何が起こっているのですか?

9
Andrew B

パフォーマンスの問題を引き起こすのは電圧調整ではなく、それによってトリガーされるデバッグカーネル割り込みです。

Redhat側のいくつかの誤った情報にもかかわらず、リンクされたすべてのページは同じ現象を参照しています。電圧レギュレーションは、おそらく Turbo Boost 機能が有効になっているため、パフォーマンスプロファイルの有無にかかわらず発生します。理由に関係なく、これらの電圧変動は、カーネル2.6.32-358.18.1.el6.x86_64でデフォルトで有効になっている電力制限カーネル割り込みとうまく相互作用していません。

確認済みの回避策:

  • 最近リリースされたRedhatカーネル(2.6.32-358.23.2.el6)にアップグレードすると、このデバッグが無効になり、パフォーマンスの問題が解消されます。
  • 次のカーネルパラメータをgrub.confに追加すると、PLNが無効になります:clearcpuid=229

不安定な回避策:

  • 「パフォーマンス」のシステムプロファイルを設定します。これだけでは、サーバー上のPLNを無効にするのに十分ではありませんでした。あなたのマイレージは異なる場合があります。

悪い回避策:

  • ACPI関連モジュールのブラックリスト。私はこれをいくつかのフォーラムのスレッドで見ました。不適切なアドバイスなので、 しないでください
8
Andrew B