インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

Firefox 65の終了が異常に遅くCPU使用率が高騰する問題――検証結果と解決策

今回は、新しく発見した興味深く、そして最終的には厄介な問題について取り上げます。Windowsマシンの1台でFirefoxをバージョン65にアップグレードしたところ、ブラウザを閉じるまでの時間が非常に長くなってしまったのです。以前は最大でも1〜2秒程度だった終了シーケンスが、今では丸1分かかるうえ、CPUコア1つ分を占有してしまう状態になりました。そこで、これが自分の環境固有の問題なのか、それともFirefox側の新たな不具合なのかを突き止めるべく、詳しく調査することにしました。

いつものことですが、インターネット上の情報はあまり役に立ちませんでした。「ドライバーを更新せよ」「リフレッシュしろ」といった定番のアドバイスばかり。問題そのものや発生理由を完全に無視した、最悪の種類の提案です。そもそも問題を理解していないまま変更を加えても、長期的には症状をごまかすだけです。そこで今回は、正しい手順で調査を進めることにしました。では、順を追って見ていきましょう。

Firefox 65の終了が異常に遅くCPU使用率が高騰する問題――検証結果と解決策

※画像:Freeimages.com/Malte Hansen 提供

問題の詳細

現象は次のとおりです。Firefox 65にアップグレードすると、ブラウザを閉じる際に重いCPU負荷とともに丸1分ほどかかるようになります。最終的にはブラウザは閉じられます。この問題を正しく理解し切り分けるためには、コンポーネントごとに段階的な調査を行う必要があります。私が実施したのは以下の手順です。

  • UIのウィンドウボタン、ファイルメニュー、Alt + F4ショートカットの3つの方法でブラウザを閉じて比較。結果は同じ。
  • すべてのアドオンを無効化したセーフモードでFirefoxを再起動して確認。結果は同じ。
  • 私はブラウザの強化に優れたEMETフレームワークを使用しています。FirefoxとEAF/EAF+緩和策との相性問題は過去にも確認していたため(ただし当時はWindows 8)、次にこの要素をチェック。Firefox向けのEMETを完全に無効化してみましたが、やはり変化なし。終了時のもっさり感とCPU負荷は頑固に残りました。
  • 差が出るかどうか確かめるため、ブラウザを再インストール。効果なし。
  • 64ビット版と32ビット版をテスト。変化なし。

解決策

さて、何か効果はあったのか? はい、ありました。

  • Firefox 64を試したところ、終了時の遅延は発生しませんでした。
  • Firefox 60 ESRを試したところ、こちらも問題なし。ブラウザは最大でも1〜2秒で閉じます。

つまりこれは、シンプルかつ明快な結論を示しています。Firefox 65のどこかに不具合があるということです。

求めているのはシンプルでストレスのない体験であり、ソフトウェアのデバッグに取り組む気分ではないため、私はFirefox 65にこれ以上付き合わず、Firefox 60 ESRを使い続けることにしました。パフォーマンスの差はごくわずかで、さらにブラウザのアクセシビリティサービス(必要がない場合)を無効化すれば、プラシーボではないわずかな速度向上すら得られます。さまざまなWebサイトでテストし、破損コンテンツなどの奇妙な警告が出ないようキャッシュとサイトデータを削除する必要はありましたが、それ以外は再び順調に動作しています。

Firefox 65の終了が異常に遅くCPU使用率が高騰する問題――検証結果と解決策

Firefox 65の終了が異常に遅くCPU使用率が高騰する問題――検証結果と解決策

補足

どうやらFirefox 65は、特に問題の多いリリースだったようです。ちょうど前日には、一部のサードパーティ製セキュリティソフトとの非互換性を理由に、自動更新が停止・一時停止されたというニュースを読みました。私自身、「アンチ何とか」系のソフトは良いことよりトラブルを呼び込みがちだと常々主張してきましたが、ここで哲学的な議論をするつもりはありません。パフォーマンス問題と証明書関連の騒動の組み合わせを見ると、近年ソフトウェア業界を覆う「move fast and break things(速く動いて壊す)」の愚かな流れにおける、また1つのデータポイントにすぎないと感じざるを得ません。実に残念なことです。

まとめ

以上が今回の顛末です。終了時の問題がFirefox 65.x以降で適切に解決されることを願いたいところです。Firefoxの内部構造までは追いかけていませんが、私の直感的な推測では、新しいタスクマネージャーや新しいメモリ管理あたりが関係しているのではないでしょうか。ガベージコレクションかキャッシュが暴走しているような挙動に見えます。とはいえ、これはあくまで推測にすぎません。

ここ数年、Firefoxは多くの進歩を遂げてきましたが、その多くは完全に間違った方向のものでした。しかしAustralisやWebExtensionsといった迷走はあったとしても、Firefoxは必要な存在です。現在の市場では事実上ブラウザの独占が進んでおり、それは本当に良くない事態だからです。多くの欠点を抱えながらも、Firefoxは依然として「最もマシな」選択肢であり続けています。残念ながら、それはWeb全体にとっても褒められた状況ではありませんが、これが現状です。

本記事があなたの問題解決に役立ったなら幸いです。もしFirefox 65の終了が遅い場合は、ESR版を痛み止めとして試してみてください。それでは、また。

  1. Windows 10でCPU使用率が100%になる原因と対処法を徹底解説

    CPU(中央処理装置)は、コンピューターシステムの中核を担う最も重要なパーツです。OSやアプリケーションを動かす「脳」の役割を果たし、ユーザーやOSからの入力を受け取り、処理を行い、その結果をモニターに出力します。近年のPCの多くは、マルチコア・マルチプロセッサ構成を採用しており、複数のタスクを同時に処理できる高い性能を持っています。しかし、そんな高性能なCPUでも、使用率が高くなり、ほぼ100%に達してしまうことがあります。この状態になると、システム全体の動作が極端に遅くなり、プログラムがフリーズしたり、アプリケーションが応答しなくなったりします。本記事では、Windows 10でCPU使用

  2. Firefox 3.1 Beta 3のメモリ使用量を徹底検証 ― LinuxとWindowsでの実測レポート

    先日、Firefox 3.1 Beta 3をレビューしました。JavaScriptパフォーマンスの大幅な向上、使い勝手とプライバシーに関する新機能、将来のHTMLマルチメディア要素への対応など、非常に魅力的なリリースです。ところが、あの記事ではメモリ使用量については一切触れていませんでした。 それには、ちゃんとした理由があります。 アプリケーションのメモリ使用量を正確に測定するのは、実は非常に難しい作業です。せいぜい得られるのは「推測」や「目安」程度で、しかも主観的かつ限られた要因に基づくもので、ほとんど役に立たないことも珍しくありません。多くの人は、タスクマネージャー、Process Exp