Tmpfs

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からサポートされるようになった。これはramfsのコードをもとにしており、起動中に使用されるほかにページキャッシュの目的でも使用される。また、ファイルシステムと同等のサイズのページファイルをスワップアウトしたり、inodeがメモリ不足（out of memory）の状態になるのを防ぐための制限（デフォルトでは物理RAMとページングは全メモリ容量を半々）をしたりといったramfsにはない機能が追加されている 。

脚注

外部リンク

 
 Tmpfs — The Linux Kernel documentation 
 JF: Linux Kernel 3.x/2.6 Documentation: tmpfs.txt 

Linuxのファイルシステム