最初は快適であったFirefox 4.0も使っているうちに、その速度があたりまえになり、遅さを感じることも少なくない。3.xと比較してメモリ消費量が増え、ほかのアプリケーションと併用すると重たくなったといった声も聞かれる。そこで、実際にFirefox 4.0はどの程度、メモリを消費しているのかを検証し、ファインチューニングとまではいかないが、その対策を考えてみたい。まず、今回測定を行ったPCは以下のとおりである。
- CPU:Intel Core 2 Duo E6600 2.4GHz
- Memory:DDR2 1GB * 4
- M/B:Asus P2B-VM
- HDD:SATA 80GB
- Graphics:GeForce 9800GT
- OS:Windows 7 32bit版
メモリの消費量は、タスクマネージャの[プロセス]タブの表示で測定した。当然のことながら、環境によっては異なる結果となる可能性がある。
Firefox 4.0のメモリ消費量を測定
まずは、ほぼクリーンインストールしたWindows 7で、プラグインやアドオンを一切インストールせず、スタートページを表示した状態である。
同様の環境で、Firefox 3.6.16で測定したものが、図2である。
21MBから37MBに、倍とまでいかないが、それなりにメモリ消費量は増加している。これが冒頭でふれた「メモリ消費量が増えた」と感じる根拠といえるであろう。図1は4.0の起動直後のメモリ消費量であるが、そこから5分後に測定したものが、図3である。
37MBから52MBへと増加している。時間の経過とともにメモリ消費量が増加している点にも注目したい(原因はメモリリークが発生している)。さてここで、プラグインやアドオンを追加してみる。たとえば、Flash Playerをインストールしていない状態では、多くサイトで不便を感じるだろう。実際にこれらをインストールしたらどうなるかを確かめてみたい。インストールするプラグインは以下のとおりである。
- Flash Player
- Adobe Reader
- Quick Time
また、アドオンは、公式サイトで人気のあるものから順に20をインストールした。主なアドオンは、図4のとおりであるが、FireGesture、IE Tab 2、テキストリンク、CE Downloader、Tab Mix Plus、Quick Translator、DownThemAll!などである。
以上の状態で、再起動直後のメモリ消費量は図5となった。
161MBとなった。図1の状態と比較すると、約4倍のメモリ消費量となっている。次にこの状態で20のタブを開き、Webページを表示してみた。
メモリ消費量は300MBを超えてしまった。よく「重たいページ」などと呼ばれるが、画像や動画などが数多く配置されたページやリッチコンテンツを多用したページなどは当然のことながら、メモリ消費も増える。一方、アドオン20にタブを20程度は、へビーユーザーからみれば、多いとはいえないかもしれない。実際にアドオンを50近くインストールしているユーザーも少なくない。したがって、500MBくらいをメモリを消費することも決してめずらしいことではない。メモリの消費が増加する原因をまとめると、以下のようになる。
- アドオンやプラグインのインストール
- タブを増やす
- 使用時間の継続
逆にいえば、必要なアドオンを厳選する、あまり使用しないアドオンは無効化する。タブは開きすぎない、再起動をこまめにといった使用上の対策でもある程度効果が期待できるだろう。
タブグループマネージャーでメモリ消費を削減
Firefox 3.*では、チューニング用のアドオンもあったが、まだ4.0に未対応なものが多い。また、OSによってはうまく動作しない設定もある(config.trim_on_minimize
を利用する方法は、Vista以降使えない)。上述の例でも、タブを開くことでメモリ消費量がかなり増加している。そこで、タブの整理をかねてタブグループマネージャーをインストールしてみよう。
再起動し、ここでも20ほどタブを開き、いくつかのグループに整理する。
この時点で、メモリ消費量は300MB近くになっている(図9)。
ここで、タブグループを右クリックし、[休止状態にする]を選ぶ。
ツールバーからタブグループが消え、タブグループマネージャーのアイコン内に格納される。この状態でのメモリ消費量は、図11のようになる。
100MB以上減っている。Firefoxのメモリ消費はタブの数が影響しやすい。タブの整理を兼ねて利用するというのも一案であろう。 Firefoxのチューニングについては、今後もアドオン方式やabout:configなどを使った方法が登場すると思われる。まずは、メモリ消費量などの状況を把握することも意味がある。今回は、あまり効果的な方法は紹介できなかったが、機会あればまた紹介する予定である。