Зарезервировать физическую память для файлов с отображенной памятью в 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