explain

コンテキストスイッチと高CPU使用率

コンテキストスイッチとは、CPUがあるタスクの状態を保存し、別のタスクの状態を読み込む処理です。ある程度の切り替えは正常ですが、過剰な発生はCPUを無駄に消費します。

Evidence to look for

高負荷サーバーでは1秒あたりのコンテキストスイッチ数が50,000回以上に達する
CPU使用率は高いがスループットが伸びない
スレッド数を減らすことでパフォーマンスが改善する

What it usually means

コンテキストスイッチにはコストが伴います:レジスタの保存、キャッシュのフラッシュ、新しい状態の読み込みなどです。発生率が高くなると、このオーバーヘッドが無視できなくなります。

What to do next

  1. 1スレッドまたはプロセス数を削減する
  2. 2重要なスレッドを特定のコアに固定する
  3. 3スレッドごとに接続を割り当てる方式の代わりに非同期IOを使用する

See what's causing your CPU

cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.

Open cpum.ai

Related

コンテキストスイッチと高CPU使用率:知っておくべきこと | cpum.ai