Использование tmpfs во FreeBSD
Предвидя недовольство некоторых посетителей моего дневника, что порой здесь пишется о тривиальных и всем известных вещах, скажу в свое оправдание, что сайт служит мне некоторой записной книжкой, куда я заношу порядок определённых действий, дабы не забыть в будущем. Да и все мы когда-то с чего-то начинали! А, судя по количеству посетителей, информация, приведенная на сайте, востребована… |
Поддержка файловой системы tmpfs во FreeBSD впервые была включена в 7.0 ветке. Её использование имеет смысл на серверах с большим объёмом оперативной памяти, часть которой имеет смысл выделить, например для монтирования /tmp, что несомненно повысит скорость работы некоторых приложений.
Для того, чтобы скомпилировать поддержку этого драйвера непосредственно в ядро, необходимо внести следующую строку в его конфигурационный файл options TMPFS
:
# uname -p amd64 # uname -i MYKERNEL # cd /usr/src/sys/amd64/conf # nano -w MYKERNEL ... options TMPFS ... # cd /usr/src # make buildkernel KERNCONF=MYKERNEL # make installkernel KERNCONF=MYKERNEL # reboot
Другой способ – подгрузить драйвер для использования tmpfs как модуль в момент загрузки сервера. Для этого поместите в файл /boot/loader.conf
следующую строку tmpfs_load="YES"
:
# echo 'tmpfs_load="YES"' >> /boot/loader.conf
Если вы не включили опцию TMPFS в конфигурационный файл своего ядра, в текущем сеансе можно подгрузить данный модель командой:
# kldload tmpfs
Для использования части оперативной памяти под /tmp в файл /etc/fstab
занесём следующую строчку:
# nano -w /etc/fstab # Device Mountpoint FStype Options Dump Pass# ... tmpfs /tmp tmpfs rw,mode=1777,size=4096M 0 0
которая при следующем запуске системы осуществит монтирование в точку /tmp раздел размером 4 гигабайта, выделенными из оперативной памяти, с правами доступа “для всех” – 1777.
Без перезагрузки в текущем сеансе вы можете выполнить команду:
# mount -t tmpfs -o rw,mode=1777,size=4096M tmpfs /tmp
которая выполнит то же самое.
Единственное, о чём хочу напомнить — файлы, записываемые в разделы tmpfs, после перезагрузки не сохраняются.