最近、Fx3が重くて仕方が無い。メモリも一時期よりずいぶん食うが、それ以上にCPUを常時50%食っているのが気に入らない。まあもともとFirefoxはメモリ食いだし仕方がないかと思わなくも無いが、それにしてもおかしくないか?

まあこういうときは20個近くも入っているExtensionを削れ、と言う話になる。

しかし、実際には常時影響が無いExtensionもあれば影響が無いものもあり、大きいものもある。従来では手作業でenable/disable繰り返して確かめるのだが、これは結構面倒である。Profilerでもあれば楽なのに・・・と思っていたら、最近登場していた。

XUL profiler

これさえあれば、重いExtensionやwebsiteを一発で特定できる!と言うことで使ってみて、自分の環境のボトルネックになるextensionを追い出すことに成功した。

1. インストール

普通に上記サイトからインストールして再起動する。なんら問題なし

2. 使い方

インストールすると、ツールバー上にprofiler用ボタンが登場する。一度押すと赤いランプが点灯し、プロファイリング中になる。もう一度押すとプロファイリングが終了し、結果がブラウザに表示される。もちろん本格的なデバッグにはいろいろあるだろうが、とりあえずはこの程度分かればいい。

3. 個人的な経験による犯人探し例

時間の掛かっているのを見つけて、そのextensionを外してやれば良いので簡単である。画面がグラフ化されていてみずらい。

xulp1

"see"を押すと、ソースと具体的なが表示される。これは開発のときに便利だろうが、今回必要なのはどのextensionで食っているか、ということなのですかさずタイトル行からそれを読み取る(!)

今回出てきたjsはなにやらgreasemonkeyで使っているスクリプトだが、ディレクトリを見るとbetter gmail2が組み込み用に使っているものらしい。と言うわけでなぜか予想だにしなかったbetter gmail2が犯人だ!ということで一件落着した。切ってみるとCPU負荷減少確認!

もう一度プロファイルを取ったが、次はAll-in-one Sidebarがボトルネックになっていることを確認。しかしそれほどの負荷に見えなかったし個人的に便利なので切らなかった。

xulp2

なお、ソースがhttp://...になっている場合は外部アプリケーションがボトルネックになっている。それに気づいてgmailも閉じるようにしたら負荷は激減した。すばらしい!

最後に、使い終わったらXUL Profilerはdisableにしておこう。別にあってもこまるものではないけどね。

4. 愚痴

というわけで、なんとなく思っていたとおりgmailがガンだったわけだが、一方でしかし怪しんでいたXoopitではなかったのは意外だった。しかし、gmail最近遅いよ、この間なんて落ちたし、googleなにやってんの!こっちはgmailなしには生きられないんだから何とかし(以下緑の救急車が重度のgmail中毒のL.starを連れ去り了