その他
    ホーム 技術発信 DoRuby Firefoxのe10sを有効化してみた
    Firefoxのe10sを有効化してみた
     

    Firefoxのe10sを有効化してみた

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    e10sとはElectrolysisの略で、Firefoxのマルチプロセス機能のことです。 安定性の向上、マルチコアプロセッサを活用したパフォーマンスアップやセキュリティの強化等のメリットがあります。 e10sの歴史と有効化方法、その効果についてご紹介します。

    e10sの歴史

    e10sは影響範囲の大きさから、有効になる条件を厳し目に設け、段階的に対象ユーザを広げていく計画となっています。

    Firefox 48 (2016/8/1)

    • アドオンをインストールしている場合は対象外
    • 近々サポート対象外となるOS(Windows XPなど)は対象外

    Firefox 49 (2016/9/19)

    • e10sと互換性が確認された少数のアドオンのみを利用している環境が対象

    Firefox 50 (2016/11/7)

    • WebExtensionsベースの拡張機能またはホワイトリスト掲載の従来型アドオンがインストールされている環境が対象

    Firefox 51 (2017/1/24)(←2017/1/27現在はここ)

    • ホワイトリストの拡大

    Firefox 52 (2017/3/7)

    • ホワイトリストの拡大

    Firefox 53 (2017/4/18)

    • 完全実施。初期設定においてe10sが有効化される

    Firefox 51でかなり条件が緩和され、e10sを有効化できる状況になってきました。

    e10s有効化方法

    e10sは設定で強制的に有効化することもできますが、動作が不安定になるためあまりオススメできません。
    2017/1/27現在、最新バージョンのFirefox 51では大分ホワイトリストのアドオンが増えているため、非対応のアドオンを無効化することで、e10sを有効にする方法をご紹介します。
    ※以下は、Mac OS X 10.11での方法ですが、Windows等もほぼ同じかと思います。

    まず、現在e10sが有効化されているかどうかを確認します。URLバーに以下を入力してください。

    about:support
    

    表示されたトラブルシューティング情報の「マルチプロセスウィンドウ」の値を確認し、

    • 「1/1(デフォルトで有効)」となってる場合は有効化されています。
    • 「〜無効」となっている場合は有効化されていません。

    無効になっている原因は、インストールしているアドオンがホワイトリストに入っていない可能性が高いです。

    その場合「Add-on Compatibility Reporter」を使い、各アドオンの対応状況を確認します。

    Add-on Compatibility Reporter – mozzilla

    Add-on Compatibility Reporterインストール後、Firefoxのアドオン一覧の各アドオンに以下のメッセージが表示されるようになります。

    enter image description here
    • Compatible with mutiprocess.:マルチプロセス対応
    • Not compatible with multiprocess.:マルチプロセス非対応

    「マルチプロセス非対応」のアドオンをすべて無効にして再起動すれば、e10sが有効化されます。
    ※マルチプロセス非対応でもe10sの有効化に影響がないアドオンもあるようです。

    e10sの効果

    さてe10sが有効化されてみての効果(違い)ですが、

    • about:supportのマルチプロセスウィンドウの値が「有効」になった
    • アクティブモニタのFirefoxのプロセスが2つ(FirefoxとFirefox Web Content)に分かれた
    • トータルでのメモリ使用量は少し増えたが(1.3倍くらい)、レスポンスは明らかに改善している(e10s無効の頃は大体1.2GB超えた辺りから重くなって、再起動で対処してた)
    • 大量のタブを表示しても切り替えが早い
    • マルチプロセス対応になっているアドオンでも正しく動作しないものがある(私の場合、Secure Loginが動かなくなった)

    今後、Firefox 53で完全にe10sが有効化されたあとは、contentプロセスの複数化、サンドボックス化を予定しているそうです。
    さらなるパフォーマンスアップに期待です。

    参考サイト