tmpfs 生活2008年02月18日 13時36分18秒

tmpfs が FreeBSD に実装されてから、初期の頃から使い続けている。まだ、バグは散見されるようだが、この高速性が手放せない。

md スワップデバイスとの大きな違いは、tmpfs では削除されたファイルが即座にメモリに返される事だ。また、再起動すると内容は失われる。そのため、一時ファイルの置場としての利用価値が高い。

カーネルやユーザランドの場合は、オブジェクトファイルを削除せずに、make を行なった方が速い。変更されたところだけ作り直すからだ。しかし ports の場合は、一度きりだ。一度インストールすると、再度作り直して入れ直すことはほとんどない。そして、ports では大量のファイルを展開して、コンパイルをし、インストール後に削除する。

tmpfs は ports の作業領域としてはうってつけだ。


# vi /etc/make.con
WRKDIRPREFIX=/ports/tmp
# grep tmpfs /etc/fstab
tmpfs                   /ports/tmp/usr  tmpfs   rw              0       0

として、日常利用している。なお、FreeeBSD 7.0-RELEASE とその RC/BETA 版には tmpfs を umount -f 時に panic するバグがあるので、umonut -t tmpfs が shutdown の前に欠かせない。

ports+ の実験も兼ねて、ports はほぼ毎日更新しているので、時間の短縮に大きく献身貢献適している。

次回