まえがき
補助記憶装置(ストレージ)は SSD が普及したことによりストレージの読み書き速度は劇的に改善されましたが、まだまだメインメモリ(DRAM)に比べて遅く、多くのシステムでボトルネックとなっています。
そこで DRAM上に仮想のディスク(RAMディスク)を作り、その中で作業すると非常に快適になります。たとえばウェブブラウザが普段ストレージ上に保存しているキャッシュファイルを RAMディスク 内に移動することでウェブブラウジングの高速化を期待できます。動画や画像ファイルを RAMディスク上で編集することでシームレスに作業することもできます。
さらに PCの電源か切れるとキャッシュファイルは消滅するので、保存しておく必要のない一時データを扱う上でもプライバシー上好ましいと思われます。
今回は tmpfs
を用いて RAM ディスクを作成します。tmpfs
は一時的にファイルを保存しておくスペースを作成できるファイルシステムで主に物理メモリ上に領域が確保する目的で使われています。
tmpfs
を利用するには systemd
と fstab
にマウントポイントを記述する2つの方法があります。
各マウントポイントのファイルシステムを確認する
df
コマンドで tmpfs
ファイルシステムを利用しているマウントポイントの確認を行います。
# df -h | grep tmpfs
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 16G 424M 16G 3% /dev/shm
tmpfs 6.3G 9.6M 6.3G 1% /run
tmpfs 16G 109M 16G 1% /tmp
tmpfs 3.2G 148K 3.2G 1% /run/user/1000
/dev/shm
と /tmp
が大量の容量を予約確保していることがわかります。
昨今はこれらのマウントポイントは systemd
で管理されているので /etc/fstab
に記述されていません。
systemd
systemd を採用しているディストリビューションは最初から /tmp
、いわゆる一時期ファイルを保管するディレクトリが tmpfs としてマウントされていることがおおいです。これをそのまま活用するのが一番楽です。
また、systemd によるマウントを解除するには以下のコマンドを使います。
# systemctl mask tmp.mount
fstab
/etc/fstab
に tmpfs
コマンドを利用して記述することで RAMディスクを簡単に作成することができます。
$ sudo nano /etc/fstab
/ramdisk
というRAMディスクを tmpfs
ファイルシステムでシステムの起動時にマウントするように設定します。
tmpfs /ramdisk tmpfs noatime,nodev,nosuid,size=2G 0 0
[マウントポイント] [ディレクトリ] [タイプ] [オプション] [Dump ユーティリティの有無] [fsckファイルシステムチェックの優先順位] の順で記述します。
size=
の後に割り当てる容量を記述します。 メガバイトには M、ギガバイトには G を後述します。上記の場合、メモリ容量のうち2 GBを RAM ディスクに割り当てています。割当容量が少ないと、ブラウザがクラッシュしたり、極端に動画が重くなるので注意しましよう。
おわり
コメント