内存锁定检查
编辑内存锁定检查编辑
当 JVM 执行主要垃圾回收时,它会触及堆的每一页。如果这些页面中的任何一个被交换到磁盘,它们将不得不被交换回内存。这会导致大量的磁盘抖动,而 Elasticsearch 更愿意使用这些抖动来服务请求。有几种方法可以配置系统以禁止交换。一种方法是通过 mlockall
(Unix)或虚拟锁定(Windows)请求 JVM 锁定内存中的堆。这是通过 Elasticsearch 设置 bootstrap.memory_lock
完成的。但是,在某些情况下,可以将此设置传递给 Elasticsearch,但 Elasticsearch 无法锁定堆(例如,如果 elasticsearch
用户没有 memlock unlimited
)。内存锁定检查会验证如果启用了 bootstrap.memory_lock
设置,则 JVM 是否能够成功锁定堆。要通过内存锁定检查,您可能需要配置 bootstrap.memory_lock
。