RAM ディスクで超快適環境を構築

RAM ディスクで超快適環境を構築


パソコンのメモリもだいぶ安くなりました。2019 年 5 月時点で 16GB のメモリが 2 本セット(つまり 32GB)で 18,000円を切るショップもいくつかあります。

もちろん SSD も同時に安くなっているので、高速化という観点からは SSD という選択肢もありなのですが、電源を消すと消去されるという RAM ディスクならではの特性もありますので、今回はそういった点を活かした RAM ディスクを使った快適環境の構築を解説したいと思います。

RAM ディスクを作る

まず PC に潤沢なメモリが搭載されていないと RAM ディスクは作成できません。厳密にいうと 100MB の RAM ディスクなども作ることもできますが、すぐいっぱいになりあまり意味がないというか、後述するシステムの TEMP 環境などによってはシステムが不安定になる場合もあります。

ここでは、メモリを 32GB 搭載して、RAM ディスクに 10GB 割り当てる想定で話を進めてまいります。

RAM は、PC の機種によって種類が違いますので(DDR4-2666 とか DDR3-1600 とか)、確実に適合する種類のものを購入しましょう。

PC にメモリを指して、Windows が起動したら、スタートメニューを右クリックして「システム」をクリックするとシステム情報が表示され、その中にメモリ搭載量が記載されていますので、正しく認識しているかどうかを確認しましょう。

Windows システム情報 実装RAM

RAM ディスクは ImDisk というソフトウェアをインストールして作成します。

ImDisk ダウンロードサイト

32bit と 64bit の 2 タイプがありますのでお使いの環境にあったものをダウンロードしセットアップを完了します。

セットアップが完了したら、RAM ディスクの作成を行います。スタートメニューより「RamDisk Configuration」をクリックすると以下の画面が表示されます。

ImDisk Configration Basic 画面

Size には RAM ディスクとして割り当てるメモリの量を記入します。
Allocate Memory Dynamically は「動的にメモリを割り当てる」設定でして、チェックでも非チェックでもどちらでもよいです。私はチェックをつけています。
Drive Letter は、RAM ディスクのドライブ識別になります。RAM ディスクなので R だとか、メモリだから M だとか、好みに応じてドライブ番号を選択してください。私は識別しやすいように Z ドライブに設定してます。
Launch at Windows Startup と Create TEMP Folder にはチェックを入れてください。
その後、「Set TEMP Variables..」ボタンを押します。

通常、Windows は一時フォルダとして %USERPROFILE%\AppData\Local\Temp だったり %SystemRoot%\TEMP というフォルダを使っています。実際に上記フォルダにアクセスしてみればお分かりになるかと思いますが、Temp フォルダにはゴミがたまり続けるため、あまり環境的にもよろしくありません。そこで Temp フォルダを RAM ディスクに設置してあげるのがこの画面の役割です。

Set All To: ボタンを押し、Windows の Temp フォルダを RAM ディスクに設定します。OKを 押して元の画面にもどります。

Advanced と Data タブは、現時点では設定の必要はありませんので、OK ボタンを押し画面を閉じます。

すると、「Windows の電源設定」に関しての警告が表示されます。Windows 10 の高速スタートアップが ON だと ImDisk の挙動とバッティングする場合があるとのことですので、以下の画面で「高速スタートアップ」をOFFにします。

Windows 10 高速スタートアップをOFFに

以上の状態で再起動をかけると、エクスプローラー上から RAM ドライブが設定できたことが確認できると思います。

カスタマイズ 1: ブラウザのキャッシュ

Chrome

Chrome は、デフォルトでは以下のパスをキャッシュフォルダとして利用しています。

C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\default\Cache

こちらを RAM ディスクに変更することで、ハードディスク・SSDにゴミが溜まらずアクセスもすこぶる早いブラウズ環境を実現できます。

Chrome の起動ショートカットを編集するため、Windows エクスプローラーで以下のフォルダを開きます。

C:\ProgramData\Microsoft\Windows\Start Menu\Programs

スタートメニューのショートカットが格納された場所が開きますので、その中にある Google Chrome を右クリックして「プロパティ」をクリックします。

プロパティウインドウのリンク先には「”C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”」と記載されているかと思いますが、ここに、RAM ディスクをキャッシュとして使うための引数を追加してあげます。

–disk-cache-dir=”z:\temp\chrome_cache”

つまりリンク先のボックスは “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –disk-cache-dir=”z:\temp\chrome_cache” という 1 行が記載されることになります。

Chrome のスタートメニューのショートカットのプロパティ

これで OK を押しましょう。

スタートメニューから Chrome を起動すると、Chrome は RAM ディスクをキャッシュとして利用することになります。

Firefox

Firefox でキャッシュを RAM ディスクに変更する場合は、Firefox 上から操作を行います。まずFirefox を起動させてください。

アドレスバーに「 about:config 」と入力してエンターを押してください。

Firefox アドレスバーに about:config を入力

すると、「動作保証対象外」になる旨の警告ページが表示されますが、「危険性を承知の上で使用する」ボタンを押します。

Firefox 動作保証外になる旨の警告ページ

さまざまな設定値が表示された画面になりますので、画面の任意の場所で右クリックをして、コンテキストメニューから「新規作成」-「文字列」をクリックします。

Forefox about:config 新規作成

ダイアログボックスには「 browser.cache.disk.parent_directory 」と入力します。

Firefox 新しい文字列の設定名

文字列には、RAM ディスク上のキャッシュのパスを記述します。

Firefox 新規構成の文字列

以上で OK を押し、Firefox を再起動します。すると、RAM ディスクをキャッシュとする設定になります。

確認方法として、先ほど同様、アドレスバーに about:cache と入力してみます。するとキャッシュに関する情報が表示され、そこでキャッシュの保存先のパスを確認することができます。

Firefox about:cache

Microsoft Edge (Chromium 版)

Microsoft Edge も Chromium が採用されたバージョンが登場しましたが、マイクロソフトとしてはキャッシュの移動に関する情報は一切といっていいほど公開されていません。そしてキャッシュフォルダの移動はサポートしていないような事が Microsoft Community には書かれています。

そんな中ですが、いくつか解ったことを書き連ねていきます。

1. いくつかの、ブラウザを利用しない Windows アプリ (天気アプリやToDOなど) からのインターネットアクセスは、Internet Explorer のキャッシュフォルダを使っている。※すべてではない

2. 過去の Edge では 以下のフォルダを利用していることを案内しているページもいくつかありましたが、どうやら Chromium 版 Edge ではこのフォルダは利用していないらしい(不確定)。

%USERPROFILE%\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC

どうも Chromium 版 Edge では以下のフォルダをキャッシュとして利用しているらしい

%USERPROFILE%\AppData\Local\Microsoft\Edge\User Data\Default\Cache

ただし Edge 内でプロファイルを作成すると、以下のプロファイル内のキャッシュに紐づくらしい

%USERPROFILE%\AppData\Local\Microsoft\Edge\User Data\Profile 1\Cache

技術的には上記フォルダに対してシンボリックリンクを設定すれば、RAM ディスク上にキャッシュを移動できるはずです。

というわけで以下実験です。今回は Default のユーザーのキャッシュを RAM ディスクに設定するので、Default フォルダを指定しています。 移行先の RAM ディスクは Z ドライブという仮定です。

コマンドプロンプトを管理者権限で実行。コマンドプロンプト内で以下のコマンドを実行します。

mklink /D "%USERPROFILE%\AppData\Local\Microsoft\Edge\User Data\Default\Cache" "z:\edge_cache"

上記コマンドを実行する事で、%USERPROFILE%\AppData\Local\Microsoft\Edge\User Data\Default\Cache から RAM ディスク上の z:\edge_cache フォルダへのシンボリックリンクが作成されました。

それでは Edge を起動してブラウズをしてみましょう。

上記で設定した z:\edge_cache フォルダに、ブラウズした際のキャッシュデータが続々と書き込まれていきます。どうやら成功のようです。

ただしこのままだと再起動時に RAM ディスク上の z:\edge_cache フォルダが消えてしまうため、シンボリックリンクが解除されてしまいます。なので Windows のスタートアップ時に、RAM ディスク上に z:\edge_cache フォルダを作成するバッチファイルを作成します。

メモ帳などを開き、以下のテキストを ramdisk.bat というファイル名でデスクトップなどに一度作成します。

@echo off
mkdir z:\edge_cache

ファイル名を指定して実行で、shell:startup というコマンドを実行します。するとエクスプローラーで Windows スタートアップフォルダが開きます。

Windows スタートアップフォルダに、先ほどの ramdisk.bat をコピーします。正しく動くがどうか確認するため Windows を再起動します。

再起動後、ファイル名を指定して実行で、「z:\edge_cache」コマンドを実行し、エクスプローラーで上記フォルダが開けば、正しくバッチファイルが稼働し、自動的に RAM ディスク上にフォルダを作成できているという事になります。

では起動して Edge の動きを確かめてみましょう。Edge を起動して、いくつかウェブサイトを開いてみます。

  1. %USERPROFILE%\AppData\Local\Microsoft\Edge\User Data\Default 内の Cache フォルダに、ショートカットのアイコンがついている
  2. z:\edge_cache にキャッシュデータが溜まる

以上が確認できれば、正しくキャッシュフォルダの移動が完了していると言えるでしょう。

ただし、これらを移動することでクッキーやアクセス履歴等がどうなるかは検証していません。マイクロソフトから正しい情報が提供されていない以上、あくまでも自己責任でお願いいたします。