最近のブラウザはどんどんメモリを大量に使うようになってきていて、 Google Chromeが一番使う感じですが、 Firefoxも結構使います。
16GB積んでるMacで使ってると3GB位普通に使います。
ただ、コレ自体は全体からすれば許容範囲なわけですが、
Vimperator
の挙動がどんどん使うに連れ遅くなってしまって困ってました。
(tab)open
コマンドを使って新たなページを開こうとすると
インクリメンタルサーチをしてくれるんですが、
これが一文字打つ毎に結構止まる様になります。
Firefoxを再起動すると戻るので、起動中に表示したページの履歴とか 何やら色々変な溜め方してるんだと思います。
なので、メモリをクリアすれば治ったりするかな?ということで メモリ削減アドオンを試してみました。
Firefox標準のメモリマネジメント機能
Firefoxには標準で
about:memory
というページが用意されていて、ここを開くと
メモリ使用の詳細を表示したりそれを保存したり、
また、Free memory
という欄にGC
、CC
、Minimize memory usage
という項目が有ります。
GC
はガーベッジコレクションでCC
はサイクルコレクション、
Minimize memory usage
はCC
をした後GC
をしてくれます。
サイクルコレクションはガーベッジコレクタに入りそうな疑わしき オブジェクトへのポインタを掃除してくれると言う感じらしいです1。
Firefox標準で付いてる機能なので、これらを使う事で ホントに必要無いものだけを綺麗にすることが出来ると思います。
取り敢えずこれを使って、しばらくしてVimperatorが重くなった時に メモリ掃除をしてみたところ ほぼスタート時点並に軽くなりました。
この時点で3GBちょいあったメモリが2.5GBまで落ちた感じです。
ということで、取り敢えずVimperatorの快適性を保つために この手のメモリ消去をすることは意味があるということです。
Free Memory
追記: 2017/02/13
現在は2.0が出ています。
Free Memory 2.0 :: Add-ons for Firefox: https://addons.mozilla.org/ja/firefox/addon/free-memory-20/?src=api
追記ここまで
Free Memory :: Add-ons for Firefox: https://addons.mozilla.org/ja/firefox/addon/freememory/?src=api
昨年出来たばかりのアドオンで既に3万user近くがダウンロードしてます。
このアドオンは上の about:memory の機能を簡単に使える様にしてくれるアドオンです。
メニューバーのアイコンから
GC
やCC
を直接行ったり、
定期的にこれらを行ってくれる機能もあります。
取り敢えず設定から Timerの値を0から適当な10とかの数字にしておくと、10分おきに クリーンアップ、みたいなことが出来ます。
Notificationの項目にチェックがあると、 クリーンアップのたびに Memory Minimization completedというポップアップが出ます。
しばらくすると邪魔になるので確認出来たらオフにしておいた方が良さ気。
これだと完全に自動でできるので 何も気にせず使い続けられます。
32bitで4GBのメモリしか無い(実質3GBちょいの)Windowsでも 使ってみましたが、これを入れる事によって挙動がおかしくなるような事は 今のところ余り感じません。
やはりFirefox自身が用意してるメモリ管理機能なので、 無理なメモリ消去とかはせずによしなにしてくれてる様です。
その他のメモリ管理等のアドオンとか
Memory Fox
Memory Fox :: Add-ons for Firefox: https://addons.mozilla.org/en-US/firefox/addon/memory-fox/
昔からある、一番有名なFirefoxのメモリ管理ツールです。 ダウンロード数も13万以上あります。
ただ、Macでは使えません。
ということで最初から候補では無いんですが、 Windowsで使うにしても、 最後の更新は2013年で、 作者のページは既に消えており2、 今後も更新は無さそうです。
また、今回入れてみたところ、一番最初に何やら関数が見つからない、的な エラーが出ました。 (ただ、2回目以降、削除してまた入れたりしてもそのエラーが出なくて良くわからない。。。)
Memory Foxがどのようなメモリ消去をしてるか分かりませんが、 更新はなさ気なことも有り、 Free Memoryはやってることが明らかなことも有り、 今後使うならFree Memoryの方が良さ気です。
Memory Restart
Memory Restart :: Add-ons for Firefox: https://addons.mozilla.org/ja/firefox/addon/memory-restart/?src=search
規定量のメモリ以上になったらFirefox自体を再起動します。 これは自分でメモリ量を設定できるんですが、 RestartはFirefox自体を再起動してしまいます。
なので作業中でも突然再起動したりします。流石に使いづらいかな。。。 これも3万ダウンロード位ありますが、使い続けてる人はどれ位いることか。。。
Tab Data (+Memory usage)
Tab Data (+Memory usage) :: Add-ons for Firefox: https://addons.mozilla.org/ja/firefox/addon/tab-data/
メモリ消去とはちょっと違いますが、 各タブにそのタブ毎に使ってるメモリ量を表示してくれます。
自分のブログのページとかを開いて見てみたりするのもちょっと面白い。
タブを沢山開きながら、余り大きなメモリを使ってる所はなるべく消す、 みたいな使い方も出来そうですが、 ただ、このアドオン自体がメモリを調べるために多大なCPUとメモリを使うので とてもじゃないけど常駐出来る様なものではありませんでした。
たまに有効にして様々なページのメモリ使用量を調べてみる、程度の使い方なら 面白いかな、と言う感じ。
about:addons-memory
about:addons-memory :: Add-ons for Firefox: https://addons.mozilla.org/en-US/firefox/addon/about-addons-memory/
こちらはアドオン別のメモリ使用量を表示してくれます。
このアドオンを入れると、 about:addons-memory という管理ページを追加してくれて、このページでアドオン別のメモリ使用量を 表示してくれます。
ちょっと調べてみたところ、 Firefox全体で3GB位使ってる段階で、 Mozilla Firefoxという項目が380MB、 次が Evernote Web Clipperで55MB位でした。
このMozilla Firefoxという項目には注釈があって、
[1] これはちょうど、他のアドオンと同様に、タグを付けた場所を持っているフロントエンドのコードが含まれています。 任意のWebコンテンツ(Webサイト、画像など)が含まれておりません。
とのこと。なので特に後から入れたアドオン、という意味では最大でも Evernote Web Clipperの55MB程度なので3、 アドオンを減らしてもさほどメモリ使用料を抑えられることは無さそうです。
まとめ
その昔はWindowsでもMacでも、OS全体のメモリを管理というか、 無理やり要らなそうなのを消してメモリを回復する、というソフトが沢山あったり ブラウザも普段一番メモリを使うものなのでコレ系のアドオンがよく使われたりしてましたが、 最近はOSが賢くなったりそもそもメモリが多大になってきたのもあって、 下手な事しない方が吉、と言という感じにはなってると思います。
実際、16GBあると余程のこと(イラスト系を沢山開いたり仮想環境を使ったり)がない限り 足りないと思うことはありません。 まあ、4GBマシンとかだと結構辛い事はありますが。。。
少なくとも外部アプリを使って使用中のアプリのメモリを制限する、なんてことは もうやりたくない所。 (単にキャッシュ消して遅くなるだけなので)
なので余りこの手の物をもう使うのは賢くないかな、とは思うのですが、 最初に書いたとおり、FirefoxでVimperatorに関するゴミがどんどん溜まっていってしまって 動作に影響が出るので、こういうのの為には仕方ないかな、と。
実際に何が悪いか突き止めてそれに対して上手く対処出来れば良いのでしょうが、 今の所はこんな所で。