我正在使用 Lucene 的 MMapDirectory 将索引文件保存在内存映射文件中。根据 pmap 命令的输出,这些文件中只有一部分实际驻留在物理内存中。我想为服务器添加更多 RAM,并确保所有文件都完全在内存中。但是,额外的 RAM 将按比例分配。在 Linux 系统中,我可以为这些文件预留一些物理内存吗(总共大约 5GB)。
提前感谢您的回答。
恐怕目前没有任何像样的开箱即用解决方案。
您可以使用RAMDirectory
最接近您正在寻找的内容,但它效率不高(分配了太多的 ram,GC 缓慢等)。有LUCENE-3659来改进这一点,但它还没有准备好。
您可以查看 ramfs/tmpfs,但它们都是易失性的(关闭机器后索引消失),您也可能会遇到 RAM 缓存在另一个 RAM中的情况。
更多信息: http ://blog.thetaphi.de/2012/07/use-lucenes-mmapdirectory-on-64bit.html