explain

スレッドによるCPU高負荷

一定の数を超えると、スレッドを追加してもスループットは向上しません。スケジューリングのオーバーヘッドと競合が増加するだけです。

Evidence to look for

スレッド数が利用可能なコア数を大幅に超えている
1秒あたりのコンテキストスイッチ数が異常に多い
CPUは上昇しているがスループットが頭打ちになっている

What it usually means

CPUはスレッドを実行するのではなく、スレッド間の切り替えに時間を費やしています。これがスケジューリングのオーバーヘッドです。

What to do next

  1. 1スレッド数またはワーカー数を削減する
  2. 2可能な限り非同期パターンを活用する
  3. 3プロファイリングを行い最適な並行処理レベルを見つける

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