結局firefoxの動作が重くてなんとかしようとしたが、なんともならなかった件

この記事はfirefoxの動作が重くなるのを改善しようとして、結局出来なかったというものなので役には立ちません。今後また調べるにあたりどんな試行錯誤をしたのかという記録用のものです。

以前こんな記事を書いたが
ゆたりんブログ: firefoxが重くなってたのでplaces.sqliteを消してみた
どうもあまりfirefoxの動作が軽くなったというわけでもなく、効果が見れなかったので別の方法を探してみた。

まず環境だけ書いておくと
Ubuntu15.10 (64bit)
Firefox 45.0 (64bit)

CPU : Intel Core i5 661 3.33GHz x 4
メモリ : 12GB


まず読み込みが重いサイトとしては
Togetter、ニコニコ静画の投稿マンガ、いくつかのブログサイト
である。ただ重いのは気になる記事やマンガをタブでいくつもバックグラウンド開いて(3〜5つ)後で読もうとしたときである。
重くなると数秒〜十数秒ほど画面のスクロール操作やタブを消すことがすごくもたつくようになる。OSのシステムモニターを見ての判断だが、ネットワークが遅いのではなくページのレンダリング処理などが原因と思う。
ここで思ったのが、タブをいくつも並列で読み込もうと処理をするから重いのであって、単一のタブの処理が終わってから次のタブの処理へ移るようにすればいいのでは?ということだった。探してみると読み込み処理のタブ数を制限できるアドオンがいくつかあったので試してみたが、確かに想定通りの動作にはなったのだが、動作が重くなるのは変わりなかった。
(この時点でよく検索に引っかかるabout:configの値をいじるのは試している。効果は見られなかったが)

前からちょっと気になってたのが、firefoxの動作が重くなってもCPU使用率はそれほど上がらないというのがある。上がってもせいぜい30〜40%程度までしか上がらない。
(ちなみにflashや動画を再生するとそれ以上にはなるが、今回調べてるサイトではそれは関係ない)
なぜfirefoxの動作が重くてもCPU使用率が上がらないのか?
もしかしてOS側(Ubuntu)でプロセスの処理を抑制してるのか?と思い、試しに端末で「yes」コマンドを打って見ると80%近くまで上がった。

 そういえばNice値(nice (UNIX) - Wikipedia)が低いほどプロセスに対するリソース割り当てが多くなるとか読んだ覚えがあったので、ここでfirefoxのNice値を変更してみたが重さはまったく変わらず…。というわけでOS側はここで懸念対象から外した。

この後、ブラウザのベンチマークを測るサイトで試してみたが、ここでもCPU使用率は40%程度。参考にChromeブラウザでも試してみたが、こっちでも同程度のCPU使用率になった。
 う〜ん、これを見るとブラウザ(firefox, chrome)の処理としてCPUを食い尽くさないような設計がされているのかも知れない。

またfirefoxのプロファイルを新規に作って試してみたが動作は重いまま。

ブラウザのパフォーマンスを解放するような内部変数やビルドオプションがあるのかも知れないが、調べてもあまり材料がなかったので今回の調査はここまでとした…。



海外サイトで気になる報告がいくつかあるので、そっちも注視しておきたい。
Bug #990997 “Firefox interface is horribly laggy in a variety of...” : Bugs : firefox package : Ubuntu

おそらく動作が重いことに関しては広告ブロック系のアドオンが一番効果があるとは思うが、ちょっと諸事情があったりして今は保留状態で使っていない。


コメント