Файловая система RAMFS автоматически увеличивается по мере необходимости и до тех пор, пока имеется доступная память.
При удалении файлов он уменьшается или остается того же размера?
Он снова сократится, по крайней мере, в моей системе 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
Итак, я начал с 1051 МБ свободной оперативной памяти. Затем я создаю файл размером 100 МБ в моей новой файловой системе ramfs и после этого проверяю свою свободную оперативную память:
# 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
Теперь у меня 951МБ свободно. Я создаю еще один файл размером 100 МБ, чтобы убедиться, что ramfs занимает оперативную память, а не что-то еще, что работает на моем рабочем столе:
# 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
Теперь у меня 851 МБ свободно, так что оперативная память определенно занята моими временными файлами.
Затем я удаляю файлы и проверяю свободную оперативную память:
# rm -f test1 test2
# free -om | sed -n 1,2p
total used free shared buffers cached
Mem: 1829 778 1051 0 53 365
Я вернулся к 1051 МБ бесплатно. Таким образом, неиспользованная оперативная память возвращается в систему.