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
」が追加されました。
開いているタブや拡張機能の消費電力への影響を確認できます。今ならば、これ使えば問題起こしてる拡張機能を特定できそうです。