Linux でRAMディスク「/dev/shm」

ターミナルで「df -h」を打ってみて下さい。もしその中で「/dev/shm」と表示されていればRAMディスクが使える環境です。

そこで今回は、RAMディスク/メモリファイルについて説明します。

※ Oracle はメモリー内ファイル・システムと呼んでいますがRAMディスが一般的の様ですので、当サイトもラムディスクと呼称します。(だって長いし…)


RAMディスクが使用できる状態かどうかの確認

早速、確認してみます。

実はこの段階でRAMディスク「/dev/shm」の中にメモリファイルを作成する事が可能です。

ですが「/dev/shm」を直接変更する事は一般的には忌避されますので、別にマウントした方が無難です。

また、「tmpfs」は全てメモリ上に存在しますので、「/tmp」や「/run/user/1000」も候補に上がるかとは思いますが、一般的にはファイルの読み書きは危険であると言われている事もあり、対象からは外した方が良さそうです。

唯一使用可能な「/run」も基本的にはデーモンが使用するものであり、基本的には root 権限が必要ですので、止めておいた方が良いでしょう。


RAM ディスクの用途

  • 再起動などで消えても問題なく、とにかく読み書きが早いメモリファイルが必要な場合
  • 共有メモリはメモリ内でデフラグを起こす事があるので何とかしたい
  • システムの 起動/終了 時は自力でなんとかするので、ファイルアクセスの高速化を図りたい

これら場合には有効です。


RAM ディスクの準備

ディレクトリを用意します。ここでは「/usr/local/tmp」とします。

マウントします。

RAM ディスクの最大容量は、物理メモリの半分です。

サイズは 1G にしています。必要に応じて変更して下さい。

起動すると自動的にマウントさせるには「/etc/fstab」を編集します。

以下の行を追加


RAM ディスクの速度計測

一応速、度計測はしてみたのですが、キャッシュが効きすぎて意味がなかった orz

当然、作成される「/usr/local/tmp/testimg」はメモリファイルになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です