tmpfsはUnix系OSにおける一時ファイルのためのファイルシステム名。tmpfsはファイルシステムとしてマウントされることを意図しており、これによりHDDをはじめとする永続性をもつ記憶装置の代わりに揮発性メモリに保存されるようにできる。RAMディスク(仮想的なディスクドライブ)とは異なり内部に別のファイルシステムを作成せずに使用することができる。
tmpfsのふるまい
tmpfsに保存されるすべてのファイルはハードディスクに保存されないと言う意味では一時的なものであるが、メモリ不足に備えてバッキングストアとしてスワップ領域が使われることがある。リブートするときtmpfsに保存されているすべてのファイルは失われる。
tmpfsで使用されるメモリ量は格納するファイルの容量によって伸縮するが、スワップ領域にスワップアウトされることもある。
多くのUnixディストリビューションでは、初期設定の時点でtmpfsを使用することができ、具体的には/tmp
ディレクトリや、共有メモリの形で現れる。
以下はUnixコマンドのdf
でファイルシステムを観察した例である。
Filesystem Size Used Avail Use% Mounted on
tmpfs 256M 688K 256M 1% /tmp
一部のUbuntuやDebianのようなLinuxディストリビューションでは、/tmp
は通常のディレクトリで、tmpfsは/run/shm
にマウントされている。
実装
Linux
tmpfsは以前shmfsとして知られており、Linuxカーネルのバージョン2.4からサポートされるようになった[1]。これはramfsのコードをもとにしており、起動中に使用されるほかにページキャッシュの目的でも使用される。また、ファイルシステムと同等のサイズのページファイルをスワップアウトしたり、inodeがメモリ不足(out of memory)の状態になるのを防ぐための制限(デフォルトでは物理RAMとページングは全メモリ容量を半々)をしたりといったramfsにはない機能が追加されている[2] 。
脚注
外部リンク
|
---|
ディスク |
|
---|
ネットワーク型 | |
---|
特殊用途 |
|
---|
その他 | |
---|
カテゴリ |