ブラウザはVivaldiを使っているのだが、どうにもメモリを馬鹿食いするので辟易して来た。ベースにしているChromeの作りのせいではあるのだが、普通に使っていても、気付くと全体(32GB)の半分以上のメモリを消費していることがあって(Vivaldiがほとんどを消費しているようだ)、さすがにそれは許せないと思ってきた。更に、近頃は起動後に段々重くなって、サスペンドしたタブを開く処理が遅くてイライラする。

そこで、起死回生というのか、そろそろ「古き良きFirefox」はいかがなものかと試してみた。今までに何度も試して来たのだが、そのたびにケチが付いて見送って来た。バージョンはもう60を超えており(64)、前回(2017年夏)の55から10近く上がっているので、ものすごく改良されたのではないかと期待したw

今までの主な問題は以下であった。

  • アプリの構造が変わって、必要なアドオンがほぼ全滅した。
    • そのため、縦のタブバーができない。
  • アイドル時のCPU負荷が高い。

試してみると、必要なアドオンは復活(別のものになったものもある)しており、縦のタブバーのアドオンもあって(Tree Tabsにした)、使えそうだった。CPU負荷については直っていないようで、アイドル時でも15%前後と高目ではある。ただ、良く考えてみたら、今まで見ていたCPU使用率(ps uxコマンドでの"%CPU")は、1コア(Hyper threading(以下HT)の1スレッド)当たりの値のようだ。一方、CPUはHTによって仮想8コアなので、psコマンドで出るプログラムのCPU使用率はPC全体では1/8になる。すると、例えばアイドル時に16%だったとしても、全体への寄与(増加分)は(16/8=)2%程度(HTなので、実際の負荷はもう少し大きくなりそうだ)の負荷なので、大きな問題はなさそうだ。実際、topコマンドの"%Cpu(s)"の表示にも合っている。

負荷について少し考えてみた。: 僕のPCは古いので、CPU(Sandy Bridge)の能力は高くない。一方、今のアプリは近頃のCPUを想定して作っているので、僕のPCのような古いCPUで動かすと、重くなってしまうのではないか。そして、HTで見掛け上は8個ものコアがあるように見えるが、1個の仮想コアで処理するには軽くないのだろう。とは言え、1仮想コアの負荷は100%にはなっていない(通常使用時は30%前後)ので、実行に無理がある訳ではなさそうだ。

ただ、Vivaldiでは重くならないのが何とも不思議ではある。メモリを使う代わりにCPU負荷を軽くしようという方針なのだろうか。あるいは、Firefoxにはいろいろな(古い?)CPUに最適化できていない箇所があるのかも知れない。VivaldiのコアはChromeなので、それを作ったGoogleなら、いろいろ知っているだろうしリソースもあるから、さまざまなことができている可能性はある。

他には、前にも書いたかも知れないが、Firefoxは(プロセス数を減らすためなのか、)各タブのイベントを処理をするためにCPUを動かし続けるような作りになっていて、(そのため、特にタブが多くなると、)負荷が高くなる可能性も考えられる。ただ、個人的には、必ずしもそうなってしまうとは思わず、ちゃんと作れば(あるいは、最適化を行えば、)負荷を低くできると思う(コードを見ていないので、あくまでも想像である)。

負荷が小さいに越したことはないが、10GB以上もメモリを馬鹿食いされるのに比べたらずっといいので、しばらく試して問題なければ移ることにする。なお、負荷が大きくなり過ぎるのが防げることを期待して、設定の"Content process limit"を2に減らした。また、メモリ使用量を更に減らすため、Auto Tab Discardというアドオンで、一定時間アイドルのタブをサスペンドするようにした(ただ、元々使用量が少ないので、効果は余り感じられない)。

なお、Firefoxの使用メモリ使用量は、前回同様、Vivaldiの1/3程度だった。以下に測定結果の例を示す。

VivaldiとFirefoxの使用メモリ量の比較

  • 測定条件
    • それぞれのブラウザで、概ね同じページ(3ウインドウ、約46タブ)を開いた。
    • ps uxコマンドを用いて各ブラウザのプロセスのRSSを合計した。
    • どちらも最新版
  • 測定コマンドの例: ps ux | grep firefox | awk '{sum+= $6;} END {print sum/1024;}'
  • 結果
    • Vivaldi: 約10GB
    • Firefox: 約3.2GB

現時点で分かっている問題(不満な点)は以下である。致命的なものはなく、アドオンや設定によって、基本的な使い勝手をVivaldiとほぼ同等にできた。

  • [済] 縦のタブバーにしても、ウインドウ上部のタブバーは消せない。 → CSS(userChrome.css)を修正して消せた。 (→ 参考1, 参考2)
  • [保留] Authy(2要素認証用トークン生成アプリ)が対応していない。 → Chromeアプリを使う。
    • Authyの起動直後はシステムがすごく重くなって、なぜかFirefoxも動かなくなる。
      • 数十秒待てば直る。
      • Firefoxの設定を初期化しても直らず。 → 諦める。
  • [済] ズームに"105%"がなく、ズームのデフォルト値が変えられない。 → アドオン(Fixed Zoom)でできた。
  • [保留] デザインが今一つごちゃついている。 → 我慢する。
  • [保留] ページの表示がおかしいことがある(例: じゃがさんのブログで上が妙に空いたり、下に白い部分が出ることがある)。 → 我慢する。
  • [TODO] スタイル(CSSの反映のされ方)が微妙にVivaldiと違う(例: 「いいね!」ボタンが大きい)。ブログのCSSが良くない? → 暫定的にボタンの文字を少し小さくした。

他に、僕のデスクトップ設定との絡みなのだが、Firefoxには右上にメニューボタンがあるので、ウインドウの位置によってはボタンが時計と干渉することがあるという、思わぬ落とし穴があった。メニューボタンは動かせないようなので、なかなか悩ましい。まあ、クラシックなメニューバーもあるので、大きな問題ではない。それに、アドオンで何とかなるかも知れない(上のタブ一覧を消したのと同様に、CSSの改造で動かせそうな気がする)。

CSSを変更してメニューボタンを左に移せた(→ 参考: "Show CSS Code"の内容をuserChrome.cssに追加する)。

今の懸念(心配)は、MSもChrome系に移ったため、Firefoxがとても少数派になり、将来、開発元のMozillaもろともなくなってしまう可能性があることだ。ただ、メモリ量の少ない小型機器でChromeを使うのは現実的ではないから、Firefoxも残る期待はある。嫌なのは、Red Hatのように変なところに買収されてしまうことだ。例えば、OracleやIBMやMSなんてところは避けたい。もちろん、Googleだってマズい。ここは是非、UbuntuのCanonicalと一緒になって歯を食いしばって頑張って欲しい。

特にその気はなかったのだが、いろいろと「移行」の多い年末だ。IT大掃除のようなものか。他に、OSのバージョンアップもしたいのだが、さすがに、スマフォの回線移行が重なって電話が使えない可能性がある状態で行うと、メールすら使えなくなってドツボに嵌まる可能性があるので、来年にしようと思っている。

 

PS. 少し前にスマフォでもFirefoxを試したが、まだ遅いままだったので止めた。以前と同様、最初はそうでもなかったのだが、何回か動かすと遅くなってしまう感じだ。何かのアドオンが悪いのだろうか。

  •  0
  •  0

コメントを書く

名前    

メール 

URL