Pythonスクリプトが100% CPUを使用している
PythonスクリプトがCPUを最大限に使用しているとき、まず確認すべきことは、それが想定内の計算処理なのか、それとも無駄な処理なのかという点です。
Common symptoms
- 1つのスクリプトが継続的にコアを占有している
- マシンの応答性が低下する
- 入力サイズに対してランタイムのスケーリングが悪い
Likely causes
- ビジーループ
- アルゴリズムの計算量が極端に大きい
- 重いパース処理または数値計算
Evidence to look for
単一スクリプトのCPU使用率が80%を超え続けている
ランタイムが入力の増加より速く増大する
関数レベルのサンプルが一部のコードパスに集中している
What it usually means
PythonのCPU問題の多くは「サーバーを増やせば解決する」と思われがちですが、実際にはアルゴリズムやループ構造の問題であることが多いです。
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