あれこれ備忘録@はてなブログ

勉強したことやニュースや出来事を備忘録として書いていきます

このブログには広告が含まれます

Firefox Quantumが激重になる問題が発生中

2017/12/08 追記

Mozilla、「Firefox」v57.0.2を公開 〜“Critical”な脆弱性を1件修正 - 窓の杜

またバージョンアップされてます。

今度こそ、不具合直ったんでしょうかね?


2017/11/30 追記

「Firefox Quantum」v57.0.1が公開、一部環境で動作が異常に遅くなる問題を修正 - 窓の杜

RealPlayerの処理をブロックするように修正された新しいバージョンが公開されたようです。


主にWindowsで起こっているらしい。

うちの環境ではならなかったのだが、どうも少なくない数の人にFirefoxが重くなる問題が発生しているようだ。

バージョン56のときに、Firefoxを起動してしばらくすると反応が極端に鈍くなる問題が起こった。

そのときはプロファイルを作り直したり、リフレッシュしたら改善した。

なので古いプロファイル設定が悪さをしているのだろうと思っていた。


プロファイルのリフレッシュで直る場合、原因はこれの可能性が高いと思う。

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

この記事に書いてあるようにプロファイルディレクトリ以下のcontent-prefs.sqliteを削除する。

あるいは設定のプライバシーの所か、メニューやツールバーの履歴でサイトの設定をクリアすることができるので、それだけ削除できればプロファイル全てを初期化せずに済む。


バージョン57でも同じ問題がそのまま残っているのではないか?と考えていたのだが、どうもプロファイルのリフレッシュでは直らないようだ。

原因として候補に上がっているのがRealPlayerに付属しているRealDownloaderというアプリだ。

これはブラウザでアクセスしたページにある動画をダウンロードできるようにしてくれるものらしい。

RealDownloaderの環境設定で"「このビデオをダウンロード」機能をchrome、Edge、firefoxブラウザで有効にする"のチェックを外すと無効にできるようだ。

もう一つは、アクセシビリティサービスとFirefoxの相性のようだ。

アクセシビリティサービスの説明は以下のページ。

アクセシビリティサービス | Firefox ヘルプ

主にテキストの読み上げに使われているというので、目の不自由な人など障害者向けの機能ではないかと思う。

これがブラウザを極端に遅くさせる原因として考えられていて、Mozilla Japan コミュニティのツイッターアカウントが定期的にツイートして呼びかけている。

極端に遅くなる原因とは言えないが、もともとアクセシビリティサービスを利用しているとFirefoxはその処理を待つために遅くなってしまうようだ。

タブバー上の人型アイコンを消す(追記あり) - Mozilla Flux

積極的にアクセシビリティサービスを使っているのでなければ、Firefoxへのアクセスは遮断してしまっていいと思う。そうしたサービスがFirefoxにアクセスする場合、ブラウザとしては処理を中断して応答しなければならず、知らず知らずのうちにパフォーマンスの低下を招いている可能性もあるからだ。

興味深いのは、アクセシビリティサービスとは関係ないのではないか?と思われるアプリケーションまたはサービスがアクセシビリティサービスを利用したものとして判断されていることだ。

記事ではATOKインサイトがその一例としてあげられている。

ATOK 2016 の新機能「ATOK インサイト」が強力すぎる件 | Open the Next

この機能、どういうものかと言うと、その時に開いている対応アプリケーション (例えば Safari などのブラウザ) で表示しているページの単語などを優先的に候補表示するものです。

これは確かに読み上げ機能と同じでページ内の文書を利用しているのでアクセシビリティサービスを利用しているのだろう。

そしてRealPlayerのアドオン、多分、RealDownloaderだろうがこれもアクセシビリティサービスを使ってブラウザにアクセスしているものに入るらしいのだ。

このツイートによれば、「アクセシビリティサービスによるブラウザーへのアクセスを止める 」にチェックを入れるとRealPlayerのアドオンは無効になるとのこと。

このATOKインサイトとRealDownloaderはどちらも前から便利だという意見の反面、パソコン、ブラウザが重くなるとかメモリの消費量が大きすぎると言われているようだ。

ATOK2016の新機能「ATOKインサイト」がメモリを使いまくっているので、「一時学習候補」をオフにした件 | 部長ナビのページ

OSもMacでブラウザもSafariなので直接関係ないが、メモリ食いやブラウザを重くしているそう。

セキュリティソフトとRealDownloaderの相性が悪いらしく、無効にしたらFirefoxが問題なく起動したとある。

Chromeなら使えるのに、FirefoxでRealDownloaderが使えなくする設定で回避して、RealDownloaderの責任にして良いのか?というツイートもあったが、Chromeでも問題は起こっていたのだ。

場合によっては、Windows全体に影響していたようだ。

RealPalyerを消しても、RealDownloaderは残ってしまうという、かなりお行儀の悪いアプリケーションらしい。

CentOS 7 に PHP 7.1 と phpMyAdmin をインストール - Qiita

正常にログインできない原因としてもあげられている。

RealDownloadeの問題だと考えても良いのではないだろうか?

必要ないなら無効にしたり、アンインストールしたりするのが良いのではないかと思う。

about:supportとURLバーに直接入力するか、メニューの「ヘルプ」の「トラブルシューティング情報」で見られるページに「アクセシビリティ」という項目があって、ここでこの機能の有効・無効の有無やこれを利用してFirefoxにアクセスしているアプリケーションの確認ができる。

Firefox 57 : How to disable Accessibility Services | Techdows

Firefox 57 lets you Prevent Accessibility tools from accessing the browser | Techdows

UI オートメーションという機能の一部のツールもアクセシビリティサービスを利用しているようだ。

WinRT/Metro TIPS:Inspectツールを使ってUIを調査するには?[Windows 8/Windows 8.1ストアアプリ開発] - @IT

うちの環境では、「アクセシビリティサービスによるブラウザーへのアクセスを止める 」にチェックは入れておらず、無効にはなっていないが、それを利用しているアプリケーションがないようだ。

いずれにしろ、「アクセシビリティサービスによるブラウザーへのアクセスを止める 」ことでFirefox Quantumが極端に重くなる現象は回避できるようだ。

しかし、これと関係があるかわからないが、メモリ消費量が極端に大きくなる現象も起きているようだ。

ttps://www.reddit.com/r/firefox/comments/74ulbr/insane_firefox_memory_usage_v570b6_on_mac/

ttps://www.reddit.com/r/pcmasterrace/comments/7e4dnx/firefox_insane_memory_usage/

RedditのURLをリンクとして貼り付けるとブログ記事が更新できなるので上のような形で貼り付けた。

ツイッターでも同じような問題に悩んでいる人が幾らかいる。

Bugzilla@Mozillaで検索してみたら、バージョン57が公式版になるまえの段階での同じような問題があった。

1408229 - High RAM Usage(or memory leak) on latest Firefox Beta/Nightly

Memory LeakとかHigh Memory(RAM) Usageなどでいくつか似たようなものがある。


Reddit内のAmazon広告がものすごくメモリを消費しているというバグとしても報告されているようだ。

1418326 - High memory usage due to amazon ads on reddit


しかし、こちらは解決策・回避策が見つかっていないようだ。

メモリがリークしている場合には効かないかも知れないが、メモリ量を抑える方法としては、「プロセス数を減らす」「履歴のページデータを保存する数を減らす」という2つが考えられる。

Firefox Quantumではマルチプロセスでタブを管理し、高速化と安定化をはかっている。

しかし、マルチプロセスはメモリ消費量が大きくなる。

メニューの「設定」で設定画面を開き、「一般」タブの「パフォーマンス」という項目で「推奨のパフォーマンス設定を使用する」のチェックを外す。

すると「ハードウェアアクセラレーション機能を使用する (可能な場合)」と「コンテンツプロセス数の制限」という2つの項目が現れる。

「コンテンツプロセス数の制限」のプルダウンメニューで数値を変更する。

プロセス数は標準で4になっているようなので、これを2や1にする。

Firefox Quantumは1つのページを表示するのにマルチコアを使っているらしいので、プロセス数を1にしても十分に速いのではないかと思う。

実際、私はプロセス数を1にして使用している。

もう1つはこれらのページを参考に。

http://level.s69.xrea.com/mozilla/index.cgi?id=max_total_viewers

Mozilla Re-Mix: Firefoxのセッション履歴保存方法を変更してメモリ消費を抑える方法。

訪れたページのデータをメモリに保存しておき、戻ったときにすぐに表示できるようにする機能だ。

about:configで詳細設定ができるページを開き、「browser.sessionhistory.max_total_viewers」を検索、その項目の数値を変更する。

標準では搭載メモリに応じて自動的に決定される。

これを8やそれ以下に決め打ちする。

またabout:memoryのページで「Free Memory」という項目の「Minimize memory usage」を行うことで、メモリを開放するなどして消費メモリを減らす処理をさせることができる。

「Show memory reports」の「Measure」を押すとFirefoxの中のメモリ使用量の内訳が表示される。

バグレポートを送るときにこれを貼り付けるなどすると良いということになっている。

ブラウザを最小化したときにメモリを小さくする設定があったな?と思ったのだが、あれはスワップ領域に移動させて物理メモリの空きを増やすだけで、メモリ消費量自体は減らず、かえってHDDやSSDの書き込みやブラウザを再び表示させたときの読み込みを増やしてパフォーマンスを低下させるようである。

ちなみにこの問題も私の環境では起きなかった。

バージョン56から色々と動作に問題が起こって、他のブラウザに移行した人がいるようだから、早く解決すると良いと思う。