Как разместить / сохранить файл в памяти на Linux?


18

Я где-то читал, что можно поместить файл в системе Linux в память, и загрузка его будет очень быстрой.

Как мне это сделать? Как проверить, что файл загружен из памяти?

Ответы:


18

В Linux у вас, вероятно, уже есть tmpfsфайловая система, в которую вы можете писать по адресу /dev/shm.

$ >/dev/shm/foo
$ df /dev/shm/foo
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                   224088         0    224088   0% /dev/shm

Это может использовать своп, однако. Для настоящего виртуального диска (который не поменяется) вам необходимо использовать ramfsфайловую систему.

mount ramfs -t ramfs /mountpoint

2
Будет ли это доступно для apache / php? Я заинтересован в использовании этого приложения для чата и планирую сохранить / извлечь последние строки из памяти, чтобы избежать накладных расходов на запись / чтение с жесткого диска.
Маджид Фуладпур

1

Это называется рамдиск . Вы можете просто смонтировать свою RAM следующим образом:

mount tmpfs <mountpoint> -t tmpfs -o size=2G

Это создает виртуальный диск 2 ГиБ. Для получения дополнительной информации см. man mountИ поиск tmpfs.


5
Это не настоящий виртуальный диск, tmpfsможет поменяться.
Крис Даун

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.