スレッド数が多すぎることによるCPU高負荷
スレッドを増やしても、必ずしも処理量が増えるわけではありません。ある時点を超えると、むしろ状況が悪化します。
Common symptoms
- CPUは上昇するがスループットは増加しない
- ワーカーを追加するとレイテンシが悪化する
- コンテキストスイッチが急増する
Likely causes
- 過剰にプロビジョニングされたスレッドプール
- 無制限なワーカーの生成
- ロックが多い共有状態
Evidence to look for
コンテキストスイッチが異常に高い
スレッド数が利用可能なコア数を超えている
実行キューのレイテンシが増加している
What it usually means
システムは有用な処理を実行するよりも、スレッド間の切り替えに多くの時間を費やしています。
What to do next
- 1スレッド数を減らして再度計測する
- 2共有状態の競合を減らす
- 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