CPU使用率RHEL6およびRHEL7に対する細かいカーネルパラメータの影響

CPU使用率RHEL6およびRHEL7に対する細かいカーネルパラメータの影響

次のカーネルパラメータは、R6からR7まで非常に異なる動作を示しており、その理由は不明です。助けてくれてありがとう。

kernel.sched_min_granularity_ns
kernel.sched_wakeup_granularity_ns

背景:

  • アプリケーションはすでにRHEL6で実行されています。
  • 低レイテンシ要件。
  • 堅牢性のあるアプリケーション、つまり待機時間が許容しきい値レベル(事前定義済み)を超えて増加し始めるか、CPU使用率が85%を超える場合は、過負荷を避けるために新しい要求の処理を停止します。
  • これでRHEL7仮想環境に展開しようとしていますが、RHEL6のようにCPUを完全に活用することはできません。 55〜60%の使用率をかろうじて達成することができ、許容可能なしきい値を超える遅延時間の急増が観察されました。

メモ:

  • アプリケーションのバージョンはどちらの場合も同じです(R6 / R7)。
  • データベースと構成も同じです。
  • メモリ、CPU設定も同じです。

R7は、動作に影響を与える次のカーネルパラメータを変更する調整プロファイルを使用します。

kernel.sched_min_granularity_ns = 10000000
kernel.sched_wakeup_granularity_ns = 15000000

この値をR6のデフォルト値()に変更すると、kernel.sched_min_granularity_ns = 4000000 kernel.sched_wakeup_granularity_ns = 4000000CPU使用率がR6レベルに調整されます。しかし、R6で同じ値を設定したときに何の副作用も見られず、まだCPUは以前と同様に85〜90%に拡張されました。

それでは、同じパラメータがRHEL6とRHEL7と比較して非常に異なる動作をする理由を探していますか?

関連情報