追記: 2018/9/3
Chromiumのタブがハングする問題が解決されました。くわしくはこちらの記事をご参照ください。


FreeBSDユーザのみなさん、Webブラウザには何をお使いですか? Chromium (Chrome)? Firefox? あるいはOperaをお使いですか? わたしはというと、メインブラウザにChromium、サブにFirefoxを使っているのですが、ここのところChromiumの動作が安定しない問題に悩まされています。

いつごろからだったのか、もうはっきりとした記憶がないのですが、あるときからChromiumの動作が安定しなくなりました。「安定しない」といっても、ブラウジングの最中にChromiumが突然落ちるわけではありません。おもな症状は以下の二つです。

ひどい時には、ブラウザ全体がフリーズして操作にまったく反応せず、タブのクローズや切り替えもできなくなります。こうなってしまうと、もう「ムキーっ」となりながらコマンドラインでkillall chromeするしかありません。

当然のことながら、Chromiumがハングアップしたりフリーズしたりという件に関しては、いくつかバグレポートが出ています。(代表的と思われるものを以下に二つ挙げます。)

バグレポートを見てみると、これ、かなり息の長い問題なんですね。最初の日付は2016年の夏頃、Chromiumのバージョンでいうと52くらいから問題が報告されています。

もちろん、バグを前にして手をこまねいているわけではなく、上記レポートの中でいくつも解決方法が提案されています。ただ、いずれの提案も、効果がある、効果がない、という反応が混在していて、現時点で決定的といえるものはないようです。

そういうわけで、「できるだけ安定して使う」というなんとも中途半端なタイトルになってしまったわけですが、試してみて効果がある(と感じる)症状緩和策を四つ紹介したいと思います。(単なるプラセボ効果かもしれませんが…)

キャッシュディレクトリをメモリファイルシステムとしてマウント

chromiumパッケージをインストールしたときに、インストール後のメッセージとして表示される方法です。(公式パッケージのインストール時に表示される方法なので、おそらくFreeBSDコミュニティとして最も効果があると判断されているのだと思います。)

インストール時のメッセージを再度表示させるには、以下のコマンドを実行すればOKです。

pkg info -D chromium

対応策は、Chromiumを使用するユーザで以下のコマンドを実行します。(以下はユーザexampleuser、グループexamplegroupを想定したコマンドになっていますので、お使いの環境に合わせて読み替えをお願いします。)

rm -rf ~/.cache/chromium
mkdir ~/.cache/chromium
sudo echo "md $(echo ~exampleuser)/.cache/chromium mfs rw,late,-wexampleuser:examplegroup,-s300m 2 0" >> /etc/fstab
sudo mount ~example/.cache/chromium

GPUハードウェアアクセラレーションの無効化

--disable-gpuオプションをつけてChromiumを起動します。

chrome --disable-gpu

デスクトップ環境を使用していて、ランチャ経由でChromiumを起動する場合は、ランチャに上記オプションを追加しておくと便利です。(下図)

Chromium - ランチャ - オプション追加

Chromiumのコマンドラインオプションの詳細については、以下の二つのURLを参考にしてください。

V8 JavaScriptエンジンのキャッシュを無効化

Bug 212812“Tomo Method”と呼ばれている方法です。Chromiumを起動して、以下のURLにアクセスします。

“Default”となっている設定値を”Disabled”に変更して、Chromiumを再起動してください。

Chromium - フラグ - v8キャッシュ

HTTPシンプルキャッシュを使用

Bug 212812コメント53で提案されている方法です。Chromiumを起動して、以下のURLにアクセスします。

“Default”となっている設定値を”Enabled”に変更して、Chromiumを再起動します。

Chromium - フラグ - HTTPシンプルキャッシュ

以上、Chromiumのハングアップに関する症状緩和策を四つ紹介しました。Chromiumユーザのお役に立てばさいわいです。

参考文献

  1. Bug 211036 - www/chromium hangs and becomes unresponsive just opening a new tab, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211036
  2. Bug 212812 - www/chromium: tabs “hang” 10% of the time, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212812
  3. Run Chromium with flags, https://www.chromium.org/developers/how-tos/run-chromium-with-flags
  4. List of Chromium Command Line Switches, https://peter.sh/experiments/chromium-command-line-switches/