只要有可用内存,RAMFS 文件系统就会根据需要自动增大。
从中删除文件会使其缩小还是保持相同的大小?
答案1
它会再次缩小,至少在我的 CentOS 6.5(内核 2.6.32)系统上是这样。以下是测试:
# mount none /tmp/test -t ramfs
# cd /tmp/test
# free -om | sed -n 1,2p
total used free shared buffers cached
Mem: 1829 778 1051 0 53 365
因此,我一开始有 1051MB 的可用 RAM。接下来,我在新的 ramfs 文件系统中创建一个 100MB 的文件,然后检查我的可用 RAM:
# pv -Ss 100M /dev/zero > test1
100MiB 0:00:00 [ 315MiB/s] [================================>] 100%
# free -om | sed -n 1,2p
total used free shared buffers cached
Mem: 1829 877 951 0 53 465
现在我有 951MB 的可用空间。我创建了另一个 100MB 的文件,以确保是 ramfs 占用了 RAM,而不是我的桌面会话正在运行的其他程序:
# pv -Ss 100M /dev/zero > test2
100MiB 0:00:00 [ 313MiB/s] [================================>] 100%
# free -om | sed -n 1,2p
total used free shared buffers cached
Mem: 1829 977 851 0 53 565
现在我有 851MB 的可用空间,因此 RAM 肯定被我的临时文件耗尽了。
接下来我删除文件并检查我的可用 RAM:
# rm -f test1 test2
# free -om | sed -n 1,2p
total used free shared buffers cached
Mem: 1829 778 1051 0 53 365
我又有 1051MB 可用空间了。因此,未使用的 RAM 已返回给系统。