четверг, 7 июля 2011 г.

RAMFS и TMPFS

На первый взгляд RAMFS и TMPFS -- это одно и то же. Выделяется "раздел" оперативной памяти компьютера и монтируется в нужную точку, после чего можно использовать как любой другой каталог. Данные будут храниться в оперативной памяти и будем иметь ту же скорость доступа, что и до оперативной памяти.

Отличия:
  1. Первое отличие следует из определения с какой памятью работает RAMFS и TMFS. Напомню, что есть физическая память (physical memory) и виртуальная память (virtual memory). Соответственно RAMFS работает только с физической памятью, а TMPFS работает с виртуальной памятью;
  2. Второе отличие заключается в том, что RAMFS игнорирует ограничение на размер выделяемого "раздела" оперативной памяти и динамически увеличивается по мере необходимости. В связке с первым пунктом это может привести к фатальным последствиям. TMPFS не вылазит за пределы выделенного;
  3. Третье отличие -- возможность задать автоматическое монтирование ФС в /etc/fstab. RAMFS -- нельзя, TMPFS -- можно;

Пример записи в /etc/fstab:
none /srv tmpfs defaults,size=64m 1 2

Если прописать в /etc/fstab ramfs получаем следующую ошибку:
~$ sudo mount -a
mount: unknown filesystem type 'ramfs'

Примеры монтирование вручную:
~$ sudo mount -t tmpfs -o size=64m tmpfs /srv 
~$ sudo mount -t ramfs -o size=64m ramfs /srv 

Если вы работаете с контейнерами OpenVZ, то в контейнерах можно использовать TMPFS. Для этого достаточно прописать нужные парамерты в /etc/fstab контейнера. При старте контейнера будет произведено автоматическое монтирование.

Комментариев нет:

Отправить комментарий