FreeBSD tmpfs2007年06月27日 13時49分17秒

7.0-CURRENT で tmpfs が使えるようになったので実験してみた。

tmpfs はシステムコールを通して実装されているので、mount_tmpfs はない。mount に -t でファイルシステムの型を指定する。今のところ、tmpfs の存在はどこにも記述されていないので、ソースを読むか、出どころの NetBSD を見るかのどちらかになる。


# uname -r -s
FreeBSD 7.0-CURRENT

# mount -t tmpfs none /mnt/tmp

# df /mnt/tmp
Filesystem 1K-blocks Used   Avail Capacity  Mounted on
tmpfs        1763824    4 1763820     0%    /mnt/tmp

# vmstat
 procs      memory      page                    disks     faults      cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr ad0 ad3   in   sy   cs us sy id
 1 0 0   70220 205004   295   0   1   0   441   0   0   0   41  669  551  1  1 98

# dd if=/dev/zero of=/mnt/tmp/zero count=100 bs=1M
100+0 records in
100+0 records out
104857600 bytes transferred in 0.363078 secs (288801762 bytes/sec)
# vmstat
 procs      memory      page                    disks     faults      cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr ad0 ad3   in   sy   cs us sy id
 1 0 0   70224 102572   273   0   1   0   408   0   0   0   43  637  550  1  1 98

# rm /mnt/tmp/zero
# vmstat
 procs      memory      page                    disks     faults      cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr ad0 ad3   in   sy   cs us sy id
 1 0 0   70224 204968   252   0   1   0   468   0   0   0   43  609  550  1  1 98

100MB のファイルを書くと、メモリが 100MB 消費されて、削除するとその分が開放されているのが分かる。

前回