Загрузка файла в ОЗУ

Загрузка файла в ОЗУ

У меня есть приложение, которое при каждом запуске открывает большой файл (около 1-2 ГБ).

По причинам разработки/тестирования мне приходится постоянно перезапускать приложение, и время ожидания загрузки файла с жесткого диска от 30 с до 1 мин становится немного неудобным.

Есть ли способ поместить файл в оперативную память (и сохранить его там), чтобы загрузка происходила быстрее?

решение1

Если в вашей системе достаточно оперативной памяти, файл должен быть кэширован в памяти, поэтому онне следуеткаждый раз перечитываться с диска.

Вы можете попытаться решить проблему, скопировав файл в tmpfsфайловую систему и загрузив его оттуда. tmpfsФайловые системы основаны на оперативной памяти. Большинство дистрибутивов теперь используют for tmpfs, /tmpпоэтому копирование файла туда будет работать; если вам нужно, вы можете mountсоздать tmpfsсебя в другом месте и скопировать файл туда. Однако, если памяти мало, содержимое a tmpfsможет быть выгружено, поэтому вы можете в конечном итоге читать из swap.

решение2

Файловая системадолженуже кэшировал файлеслиу вас достаточно оперативной памяти.

Однако, чтобы создать выделенный RAM-диск объемом 2GiB /tmp/ramdiskдля этой цели, вы можете сделать следующее:

sudo mkdir /tmp/ramdisk
sudo mount -t tmpfs -o size=2G myramdisk /tmp/ramdisk

Связанный контент