如何设置分配给elasticsearch的内存大小?

RT
已邀请:

Rubricate - hi

赞同来自: kennywu76 china stab

在 ES_HOME/bin/elasticsearch 里面

lendo

赞同来自: Rubricate stab

./elasticsearch -Xmx10g -Xms10g &

toxic_07

赞同来自: 超超大猴子

官方建议,设置为系统内存的一半,但不要超过32gb。

jingkyks - 水果铅笔2B橡皮

赞同来自:

建议值为系统内存的一半

slei - ITDN

赞同来自:

vim /root/elasticsearch/bin/elasticsearch.in.sh

#!/bin/sh

ES_CLASSPATH=$ES_CLASSPATH:$ES_HOME/lib/elasticsearch-1.4.4.jar:$ES_HOME/lib/*:$ES_HOME/lib/sigar/*


下三行设置内存
ES_MIN_MEM=10g
ES_MAX_MEM=10g
ES_HEAP_NEWSIZE=1g





if [ "x$ES_MIN_MEM" = "x" ]; then
ES_MIN_MEM=256m
fi
if [ "x$ES_MAX_MEM" = "x" ]; then
ES_MAX_MEM=1g
fi
if [ "x$ES_HEAP_SIZE" != "x" ]; then
ES_MIN_MEM=$ES_HEAP_SIZE
ES_MAX_MEM=$ES_HEAP_SIZE
fi

Jellybean

赞同来自:

linux:  /bin/elasticsearch.in.sh中设置,建议为机器内存一半,且最大最小内存最好相等,防止经常gc。

qq123 - 90后IT精英

赞同来自:

一般都是给现有物理内存的一半

Jea - 一只猿

赞同来自:

楼上各位的答案在设置之后并不会生效, 因为没有权限去锁定内存, 需要更改配置文件的就没有人说 /etc/security/limits.conf吗? 
不给运行es的用户memlock权限怎么锁内存呢?
* soft nofile 65535      #这个是默认的
* hard nofile 65535 #这个也是默认的
elastic - memlock unlimited #给es权限去锁定内存

elastic_boy - 程序猿

赞同来自:

我们生产环境采用的是2.4.4的版本。
首先,我按照网上的设置启动参数。
第一次:bin/elasticsearch -d -Xmx2g -Xms2g 报错:ERROR: Parameter [-Xmx2g]does not start with --
第二次:bin/elasticsearch -d --Xmx2g --Xms2g 报错:ERROR: Parameter [Xmx2g] needs value
第三次:bin/elasticsearch -d --Xmx=2g --Xms=2g  成功
我总结的方法如下:
1,使用elasticsearch账号直接启动:
            1),在启动参数中设置:/export/servers/elasticsearch-2.4.4/bin/elasticsearch -d --Xmx=16g --Xms=16g 或者:/export/servers/elasticsearch-2.4.4/bin/elasticsearch --Xmx=16g --Xms=16g &
            2),添加到系统环境变量(永久有效):
                vim /etc/profile 
                    export ES_HEAP_SIZE=16g
                source /etc/profile
                使用命令启动:
                    /export/servers/elasticsearch-2.4.4/bin/elasticsearch -d
        2,使用SysV方式启动:
            注意,我这里只保留了核心的配置。
            1),添加到环境变量:
                vim /etc/init.d/elasticsearch
                    export ES_HEAP_SIZE=4g
                    cd /export/servers/elasticsearch-2.4.4
                    ./bin/elasticsearch -d

            2),在启动参数中设置:
                vim /etc/init.d/elasticsearch
                    cd /export/servers/elasticsearch-2.4.4
                    ES_JAVA_OPTS="-Xms16g -Xmx16g" ./bin/elasticsearch -d
测试的时候建议使用 1.1种,生产环境中建议使用第2.1种。
参考官方文档: https://www.elastic.co/guide/e ... .html

要回复问题请先登录注册