Tmpfs

tmpfsUnix系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]

脚注

  1. ^ Daniel Robbins (2001年9月1日). “Common threads: Advanced filesystem implementor's guide, Part 3”. IBM DeveloperWorks. 2013年2月15日閲覧。
  2. ^ Christoph Rohland, Hugh Dickins, KOSAKI Motohiro. “tmpfs.txt”. kernel.org. 2010年3月16日閲覧。

外部リンク

  • “Solaris tmpfs(7FS) man page”. 2013年2月25日閲覧。
  • Tmpfs — The Linux Kernel documentation (英語)
  • JF: Linux Kernel 3.x/2.6 Documentation: tmpfs.txt (日本語)
ディスク
光ディスク / 磁気テープ
Flashメモリ / SSD
分散ファイルシステム
ネットワーク型
特殊用途
疑似・仮想
暗号化
その他
  • ファイルシステムの比較(英語版)
カテゴリ カテゴリ