[トラブルシューティング振り返り] Chrome のもたつきはメモリ不足ではない:Cloudflare Challenge のループ再試行で高 CPU(AIYAユーザー再投稿)

背景

今回の切り分け対象は、Windows 上の Chrome が明らかにもたつく一方で、システムメモリが使い切られていないケース。

現場の症状:

  • ブラウザ操作が重く、入力遅延が明確
  • タスク マネージャー上ではメモリにまだ余裕がある
  • Chrome の CPU 使用率が突然跳ね上がる

排查步骤(未先关标签页)

  1. chrome.exe の子プロセスを連続サンプリングし、各 PID の CPU ピーク/平均を集計
  2. Chrome のタスク マネージャー(Shift+Esc)で CPU で並べ替え、PID を表示
  3. OS 側のサンプリング PID と Chrome のタスク項目を 1 つずつ対応付け

关键证据

  • 120 秒ウィンドウ内で、Chrome 合計 CPU ピークは約 39.30%
  • 疑わしい高負荷 PID:6952422924956
  • Chrome のタスク マネージャーでは:
    • PID 6952 = サブフレーム: https://challenges.cloudflare.com/
    • PID 42292 = サブフレーム: https://challenges.cloudflare.com/
  • PID 6952 は一時 81.8% CPU に到達
  • 同時に拡張機能プロセス(Tampermonkey ベータ版)のメモリが高く、Challenge のリトライ問題を増幅している可能性

结论

この種のもたつきの本質はメモリではなく、Cloudflare Challenge のサブフレームが繰り返しリトライしていること

  • 検証スクリプトが継続実行される(JS/WASM)
  • 複数のサブフレームが並行すると CPU が合算されて奪い合いになる
  • ページが目に見えてカクつく

为什么会“持续触发 CF”

よくある原因:

  • 長時間放置したタブを復帰すると、challenge token/cookie が期限切れ
  • プロキシの出口が変わり、Cloudflare がセッション不連続と判断
  • Cookie/ローカルストレージのポリシーが状態の書き戻しを阻害
  • ユーザースクリプト/拡張機能の注入が challenge iframe に干渉
  • 同一サイトの複数タブで同時に検証が走り、失敗リトライが相互に重なって増幅

实际结果

該当する高負荷ページを閉じると、ブラウザの体感が即座に回復し、原因の切り分けが成立。

给同类问题的快速自检

  1. Shift+Esc で Chrome のタスク マネージャーを開き、CPU で並べ替えて PID を表示
  2. challenges.cloudflare.com のサブフレームが異常に占有していないかを優先確認
  3. 対象サイト上でユーザースクリプト拡張を一時的に無効化して再確認
  4. プロキシルールを点検し、必要なら *.cloudflare.com を直結にして比較
  5. Cookie/サイトデータのポリシーが検証状態の永続化を阻害していないか確認