explain

ロックによるCPU高負荷

複数のスレッドが同じロックを競合すると、CPUは生産的な処理ではなく同期のオーバーヘッドに費やされます。

Evidence to look for

perf のホットスタックにミューテックスまたはスピンロック関数が表示される
スレッドを増やすとレイテンシが悪化する
並行処理数の増加とともにトランザクションあたりの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