经过一段时间运行,es的索引已经达到数十G以上.es采用mmap的方式将索引文件映射到内存中,随着检索的次数增加,越来越多的数据被操作系统读入到内存中.这部分内存位于系统中,但是又不归es管理,也就是和jvm配置的堆内存大小无关. 结果就是导致es总的内存不断增长. 解决该问题的办法是修改es的存储方式,配置参数index.store.type由mmap改成niofs.niofs的性能也很好,对检索的性能影响并不大,并且能够有效的控制内存增长.可以认为这是一种按需读取数据的方式,读取的数据主要在…