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


9

サーバー: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ログインが必要)は、Performanceプロファイルを実行していないPE r620およびr720サーバーに影響を与える問題について言及しており、2週間前にリリースされたカーネルのアップデートを推奨しています。...パフォーマンスプロファイルを実行している場合を除きます...

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


1
参考までに、この問題メインラインカーネル3.11で修正さています。これは、この「通常の」重要ではないイベントでトリガーされるカーネル割り込みハンドラーが原因です。上記にリンクされたコミットは、このハンドラーを無効にします。
トーター、2015

回答:


8

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

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

確認された回避策:

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

不安定な回避策:

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

悪い回避策:

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

新しく導入されたシステムでアップデートを実行していませんか?
ewwhite 2013年

@ewwhiteこれらのサーバーは、カーネルの更新が公開される直前にデプロイされました。新しいRPMは10月16日に利用可能になりました。
Andrew B

Red HatへのGrrr。いい発見。
ewwhite 2013年

アップデート後も、この問題は数週間後に(カーネル2.6.32-431.17.1.el6.x86_64で)浮上しました。今回は、clearcpuidを使用してPLNを無効にする必要がありました。この問題はすでに多くの頭痛の種を引き起こしています!また、12Gデルサーバーは1台しかありません(このため、これが唯一のサーバーになります)。
Martijn

1
@Martijn現在2.6.32-431.11.2.el6.x86_64、問題は発生しており、問題は発生していません。多くのクラスター、高負荷など。Redhatが5日前にそのアップデートをリリースしたときに、回帰が忍び込んでいた可能性があります。私が見つけたものをあなたに知らせ、答えが事実であることがわかった場合は更新します。
アンドリューB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.