Зарезервировать физическую память для файлов с отображенной памятью в Linux

Я использую MMapDirectory от Lucene для хранения индексных файлов в файлах, отображенных в памяти. Согласно выводу команды pmap, только часть этих файлов фактически находится в физической памяти. Я хотел бы добавить больше оперативной памяти на сервер и убедиться, что все файлы полностью в памяти. Тем не менее, дополнительная оперативная память будет пропорционально распределена. В системе Linux можно ли зарезервировать некоторую физическую память специально для этих файлов (всего около 5 ГБ).

Заранее спасибо за ваши ответы.

1 ответ

Боюсь, что на данный момент не существует приличных готовых решений.

Вы могли бы использовать RAMDirectory который ближе всего к тому, что вы ищете, но он неэффективен (слишком много оперативной памяти выделяется, медлительность GC и т. д.). Есть LUCENE-3659, чтобы улучшить это, но он еще не готов.

Вы можете посмотреть на ramfs / tmpfs, но оба они нестабильны (индекс отключается после выключения машины), а также вы можете оказаться в ситуациях, когда RAM кэшируется в другой RAM.

Дополнительная информация: http://blog.thetaphi.de/2012/07/use-lucenes-mmapdirectory-on-64bit.html

Другие вопросы по тегам