У меня есть приложение, которое при каждом запуске открывает большой файл (около 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