环境变量
最重要的参数是 -Xmx 来控制进程的最大内存 和 -Xms 控制最小内存。一般来说,分配的内存越大越好。
ES_HEAP_SIZE用来设置堆内存的大小,通常设置最小值为256m,最大值为1gb。
通常推荐将内存最小值和最大值设置为相同值,并将mlockall置为true。
系统配置
文件描述符
通常建议将进程的最大打开文件数设置为32k或者64k。将-Des.max-open-files置为true,将会在进程启动时输出能够打开的最大文件数;或者,通过命令检索max_file_descriptors :curl localhost:9200/_nodes/process?pretty。
内存设置
可以使用参数mlockall来锁定进程地址空间,以防止内存交换。所以,需要将bootstrap.mlockall置为true,并推荐将内存分配的最大值和最小值设为相同值(仅在Unix/Linux操作系统上才有效)。为了检测其是否有效,可以将common.jna记录到DEBUG级别。此外,可以通过设置ulimit -l unlimited 来解决“Unknown mlockall error 0"问题。
注意:如果没有足够的内存分配给机器,可能会