LINUX.ORG.RU

Виртуальный диск (RAM disk)


0

0

Скажите пожалуйста, как создать временный диск в оперативной памяти? Чтобы можно было накидать туда временных файлов общим размером с половину физической памяти, а по окончании работы с ними -- удалить, и память бы вернулась системе. Ссылки на документацию и man-страницы сгодятся. Заранее спасибо.

★★★

Директория /dev/shm )

anonymous
()
Ответ на: комментарий от anonymous

> http://en.wikipedia.org/wiki/TMPFS

Спасибо, именно это и имел в виду. А чем оно отличается от RAM-диска?

Заодно 3 вопроса:

1) Любой ли пользователь может монтировать директорию через "mount -t tmpfs tmpfs ~/dirname", не имея прав рута, или рут должен дать какие-то разрешения?

2) В системе с квотами на использование памяти будет ли учитываться этот диск как часть моей квоты?

3) можно ли просто писать файлы в /dev/shm, не заморачиваясь с монтированием?

olegd ★★★
() автор топика
Ответ на: комментарий от anonymous

Не понял. Можно подробнее?

Чтобы любой мог монтировать, надо это прописать в /etc/fstab/ ?

И чем чревата запись в /dev/shm/ без монтирования директорий?

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

>А чем оно отличается от RAM-диска?

RAM-диск это блочное устройство, под него выделяется ОЗУ и на нем можно создать любую fs, но автоматически память не освобождается, когда RAM-диск больше не нужен, его нужно принудительно удалять из памяти (blockdev --flushbufs). tmpfs занимает в памяти столько места, сколько объем файлов, хранимый в ней. Для каждой монтируемой tmpfs можно задать её максимальный объем (man mount), по умолчанию половина объема ОЗУ.

1) Если вам нужно, чтобы у каждого пользователя был своя tmpfs, то проще создать скрипт на bash и разрешить пользователям запускать его через sudo, но лучше так не делать, так как если каждый пользователь получит свою tmpfs, то вместе они могут записать туда кучу файлов и "сожрать" всё ОЗУ. Поэтому лучше делать как вам показали, монтировать tmpfs в /tmp или в /tmp/tmpfs, а на каталог с tmpfs ставить sticky-бит, тогда файлы может удалять только владелец.

2) Квоты, вроде бы выставляются отдельно для каждой файловой системы, так как tmpfs это отдельная файловая система, то этот диск не будет учитываться как часть квоты. Не знаю, можно ли включить квоты для tmpfs...

3) В /dev/shm лучше не писать, так как если заполнить данную ФС полностью, то библиотеки не смогут создавать там файлы...

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.