2022年4月14日
ウェブブラウザはウェブサイトにアクセスする際にキャッシュと呼ばれるデータをダウンロードします。このPCに保存されたデータは再び同じサイトなどを閲覧する際にも利用され、ページの読み込みを高速化することができます。
本記事はMozilla FirefoxのキャッシュファイルをDRAM上に保存してブラウジングをさらに高速化しようという試みです。SSDが普及した現在あまり効果を実感することが出来ないかもしれません。
しかしDRAMにダウンロードされたキャッシュ(一時ファイル)はブラウザを閉じると消去されるのでプライバシーの観点からも有用だと思います。
注意点
およそ10年以上前の古い情報ではありますが、この設定をするといくつかデメリットがあることがMozillaのデベロッパーが指摘しています。
要約すると、大きく3つ
- ローカルファイルに依存している Adobe Reader などのプラグインの反応が遅くなる可能性がある。
- メモリキャッシュは許容容量が少なくなりがちなのですぐにデータで一杯になってしまうのでデータが溢れたところから消されていく。
- メモリキャッシュはブラウザを閉じると消えるのでスタートアップが遅くなる。
というものです。要するに DRAM が大量に余ってるマシンだったり頻繁に同じサイトに訪れたり更新したりする人以外はあまりメリットがないよ、というものです。この時点(2012年)でこの設定を使うのは完全な損出とも述べています。
私は頻繁に同じサイトをぐるぐる回るということもしますし、この設定をして特に問題に突き当たったことはないので使っています。ですがなにか問題があったらすぐに設定をデフォルトに戻すことをおすすめいたします。
設定方法
Firefox でキャッシュをメモリ上に置く方法としては2つあります。 ブラウザから設定する方法と、「user.js」という設定ファイルを方法です。設定ファイルを作っておくと他の環境に移行したときにすぐに流用できるので便利です。
ブラウザからの設定方法
アドレスバーに about:config
と手打ちし警告文に納得したら「危険を承知の上で使用する」をクリックします。
検索バーが表示されるので設定を変更したい項目の文字列を入力します。
変更したい設定の一番右に表示されているアイコンをクリックし編集を行います。
以下キャッシュにまつわる設定です。
設定項目名 | 初期値 | 変更後の設定 | 解説 |
---|---|---|---|
browser.cache.disk.enable | true | false | ディスクキャッシュの有無 |
browser.cache.memory.enable | true | true | メモリキャッシュの有無 |
browser.cache.memory.capacity | -1 | -1 | メモリの占有容量(-1:自動) |
設定を終えたらFirefoxを再起動します。
user.js の設定
Firefoxのユーザ設定は user.js
というファイルに書き込むことで設定を反映させることができます。後々PCを新調した際やOSの再インストールした時にこのファイルを使ってすぐに設定を反映できるので便利です。
- Windows OS
「C:Usersユーザ名AppDataRoamingMozillaFirefoxProfilesランダム文字列.default
」 フォルダ内にuser.js
ファイルを作成しメモ帳などに以下を追加します。 - Linux
「/home/ユーザ名/.mozilla/firefox/ランダム文字列.default/
」内にuser.js
ファイルを作成します。
user.jsのサンプル
以下のように記述します。
/* Firefox 設定ファイル */
/* キャッシュ メモリキャッシュの有無 */
user_pref("browser.cache.memory.enable", true);
// ディスクキャッシュ無効化
user_pref("browser.cache.disk.enable",false);
// メモリキャッシュ容量
user_pref("browser.cache.memory.capacity", -1);
ちなみにJavaScript(.js)ファイル内ではダブルスラッシュ 「//
」を行の先頭に記述することでコメントアウトします。複数行のコメントをしたい場合は(/* コメント
*/)を使います。
このようにコメントを残すことであとから見てなんの設定か思い出しやすくなります。
メモリキャッシュを有効化
ブラウザがウェブページを読み込む際にDRAMにキャッシュさせるようにします。
user_pref("browser.cache.memory.enable", true);
()の最後にある値が true
ならば有効、 false
ならば無効になります。
ディスクキャッシュ無効化
Firefox が HDD や SSD などの補助記憶装置に一時ファイルを保存しないように設定します。
user_pref("browser.cache.disk.enable",false);
メモリキャッシュの容量
Firefox のキャッシュに DRAM の容量をどのくらい割くか設定ができます。
-1
と設定すると自動的に容量が割り振られます。
user_pref("browser.cache.memory.capacity", -1);
おまけ:プロファイル設定ファイルをRAMに
ArchLinux では Firefox のプロファイルを RAM 上に自動的に置いてくれる「Profile-sync-daemon」というプログラムが存在します。これを使えば更にストレージへの負荷を減らすことができます。
おわり
コメント
After disabling some of your plugins, close and restart Firefox, and observe its memory usage. If you don’t see an improvement, you can enable those plugins again and try with a different set.
Даже если вы не программист, вы можете попробовать подержать в руках другие инструменты и советы, которые используют разработчики Firefox для отладки утечек памяти .