Файловая система tmpfs может найти повседневное применение в вашей деятельности, поскольку она невероятно быстрая и может помочь снизить нагрузку на ваше постоянное хранилище (особенно актуально тем, у кого Linux установлен на флешку или карту памяти).
tmpfs — это виртуальная файловая система, располагающаяся в оперативной памяти.
Средство tmpfs позволяет создавать файловые системы, содержимое которых находится в виртуальной памяти. Поскольку файлы в таких файловых системах обычно находятся в ОЗУ, доступ к файлам осуществляется очень быстро.
Файловая система создаётся автоматически при монтировании файловой системы с типом tmpfs с помощью следующей команды:
sudo mount -t tmpfs -o size=10M tmpfs /mnt/mytmpfs
Файловая система tmpfs имеет следующие свойства:
- Файловая система может использовать пространство подкачки, когда этого требует физическая нагрузка на память.
- Файловая система потребляет столько физической памяти и пространства подкачки, сколько требуется для хранения текущего содержимого файловой системы.
- Во время операции повторного монтирования (mount -o remount) размер файловой системы может быть изменён (без потери существующего содержимого файловой системы).
Если файловая система tmpfs размонтирована, её содержимое теряется (удаляется).
Вы можете скопировать в tmpfs файлы для максимально быстрого доступа. Это могут быть файлы баз данных или веб-сервера.
Ещё одна цель использования — снизить износ постоянного хранилища. Это не особенно актуально для жёсткого диска или твердотельного диска — современные модели при любом типе домашнего использования переживут нас. Но это может быть актуально, если система установлена на карту памяти. Вы можете разместить в оперативную память приложение, которое постоянно использует хранилище (часто обращается к файлам или непрерывно сохраняет файлы), тем самым ускорится работа этого приложения, а также всей системы за счёт снижения нагрузки на карту памяти.
Ещё одна возможная причина использование — незаметность, при работе в tmpfs всё будет происходить в оперативной памяти, а на постоянных хранилищах не останется никаких следов.
Рассмотрим пример копирования файлов — насколько быстрее это будет происходить в tmpfs по сравнению с дисками.
Создадим точку монтирования:
mkdir /tmp/mytmpfs
Создадим виртуальную файловую систему размером 20 Гигабайт в оперативной памяти:
sudo mount -t tmpfs -o size=20g tmpfs /tmp/mytmpfs
Скопируем туда файл размером в несколько Гигабайт:
cp /mnt/disk_d/Vuse/Space.Cop.2016.L2.BDRip.720p.mkv /tmp/mytmpfs
Проверим, сколько времени понадобится для создания копии этого файла в оперативной памяти:
time cp /tmp/mytmpfs/Space.Cop.2016.L2.BDRip.720p.mkv /tmp/mytmpfs/copy.mkv
Результат:
real 0m1,403s user 0m0,020s sys 0m1,381s
Понадобилось совсем немного времени — примерно полторы секунды.
А теперь сделаем копию этого же файла на жёстком диске:
time cp /mnt/disk_d/Vuse/Space.Cop.2016.L2.BDRip.720p.mkv /mnt/disk_d/Vuse/copy.mkv
Результат:
real 0m14,463s user 0m0,065s sys 0m4,041s
Понадобилось 14 секунд — в 10 раз больше времени.
Итак, используя tmpfs можно добиться максимальной скорости доступа к файлам.
Смотрите также
- Всё о монтировании: от системного администрирования до IT криминалистики
- Опции монтирования для tmpfs
Связанные статьи:
- Как в Linux подключить новый диск, разметить и отформатировать разделы (68%)
- Диск Windows монтируется только для чтения (РЕШЕНО) (68%)
- 8 способов определить тип файловой системы в Linux (Ext2, Ext3 или Ext4, FAT32, NTFS) (68%)
- Почему в Linux не открывается exFAT (РЕШЕНО) (68%)
- Как добавлять записи в /etc/fstab. Как использовать /etc/fstab для хранения опций монтирования (68%)
- Ошибка «/sbin/mount.vboxsf: mounting failed with the error: No such file or directory» (РЕШЕНО) (RANDOM - 11.7%)