FirefoxのCPU使用率が高い問題を解決した話

病状

  • Firefoxを起動すると常に20-30%のCPUを専有する
    • タスクマネージャーで確認
    • 大量のタブ(100個程度)を開いている状態
      • ただし、動画等の重いタブは開いていない
      • 起動直後でタブは未読み込み状態でも同様の状態となる
      • タブを2,3個開いた状態でも同様の状態を確認した

問題発生環境

  • Windows10
  • Firefox61.0.2(64bit)

やったこと

失敗したこと(1)

プロファイル内のcontent-prefs.sqliteファイルを削除する。

結果として、問題現象は改善しなかった。この結果から問題の根本原因は、content-prefs.sqliteファイルの破損ではないものと考えられる。

参考:Firefox が CPU リソースを大量に消費する | Firefox ヘルプ

失敗したこと(2)

新しいプロファイルを作成する。新規プロファイルでは、問題現象は発生しませんでした。このことから、プロファイル内に根本原因があるものと考えられます。

新しいプロファイルに、FirefoxアカウントのSync機能を使用して環境を再構築する。拡張機能やブックマーク等を同期する。(開いているタブは同期できなかった。以降の結果は、タブは数個の状態での結果となる。)

結果として、問題現象は改善しなかった。この結果から問題の根本原因は、プロファイルの破壊等ではないものと考えられる。

成功したこと

タスクマネージャーを開いてCPU使用率を確認しながら、拡張機能を1個づつ無効化する。

すると、「Amazon Price Tracker - Keepa.com – Firefox 向けアドオン」を無効化した場合、CPU占有率が1%未満に変化した。再度、有効化するとCPU占有率が20-30%に変化した。このことから、Keepaが今回のCPU専有問題の原因であると考えられる。

※補足:Amazon, Keepa等のKeepaに関係のあると思われるサイトは開いていない。

補足

新しいプロファイル(Sync同期していない、まっさらのプロファイル)を作成して、Keepaを追加してみたが、CPU使用率は1%程度で問題現象は発生しなかった。このことから、筆者のプロファイル環境に依存した問題であることが考えられる。Keepaのみが完全に悪いわけではないようだ。

追記

Firefox64で「about:performance」が追加されました。
開いているタブや拡張機能の消費電力への影響を確認できます。今ならば、これ使えば問題起こしてる拡張機能を特定できそうです。

perfomance