tmpfs — файловая система в оперативной памяти. Применяется для временных файлов, кешей, unix-сокетов и данных, которые не должны переживать перезагрузку.
Типичный сценарий — ускорить операции и убрать лишнюю нагрузку с диска, особенно на серверах с активным I/O.
Создание точки монтирования выполняется один раз:
mkdir -p /mnt/tmpfs
Монтирование tmpfs в память:
mount -t tmpfs -o size=1G,noatime tmpfs /mnt/tmpfs
Важно: параметр
size задаёт верхний лимит, а не резервирует память заранее. Каталог начинает использовать RAM по мере записи (и swap при необходимости). Файлы размещаются в памяти, без прямых операций записи на диск.Проверить, что файловая система действительно смонтирована:
df -hT /mnt/tmpfs
или более точно:
findmnt /mnt/tmpfs
Любые данные, созданные внутри, существуют только пока tmpfs смонтирован. После размонтирования или перезагрузки они будут утеряны — это ожидаемое поведение и ключевая особенность tmpfs.
Для постоянного использования tmpfs добавляется в
/etc/fstab:tmpfs /mnt/tmpfs tmpfs size=1G,noatime,nodev,nosuid,noexec 0 0
Ограничение по размеру защищает систему от неконтролируемого потребления памяти, а
nodev, nosuid и noexec повышают безопасность (если выполнение файлов не требуется).После добавления запись можно активировать без перезагрузки:
mount /mnt/tmpfs
(при условии, что точка монтирования уже существует)
Частый вариант — использование tmpfs вместе с systemd-сервисами. systemd умеет автоматически создавать временные директории в памяти и очищать их при остановке сервиса:
[Service]
RuntimeDirectory=myapp
В этом случае каталог создаётся в
/run/myapp (который находится в tmpfs) и живёт столько, сколько работает сервис. Поведение можно дополнительно настраивать через RuntimeDirectoryPreserve=.Контроль использования памяти:
df -h | grep tmpfs
Важно учитывать, что tmpfs использует оперативную память и может задействовать swap. При неправильно выбранных лимитах это способно повлиять на всю систему.
🔥 tmpfs — простой и надёжный инструмент для временных данных, когда важны скорость, чистота окружения и предсказуемое поведение при рестартах.
➡️ DevOps Ready | #практика