如何在Debian中为elasticsearch设置内存限制?

6xfqseft  于 2023-04-05  发布在  ElasticSearch
关注(0)|答案(4)|浏览(169)

我需要在debian中增加elasticsearch的内存限制..请让我知道我应该在哪个文件中进行更改以增加内存..以及如何检查是否设置了内存限制...因为我得到了一个错误,比如:太多文件打开Plz帮助...
先谢谢你了。

du7egjpx

du7egjpx1#

设置内存的最佳方法是设置ES_HEAP_SIZE参数,并让它指定最小值和最大值。
对于Ubuntu,只需打开/etc/default中的elasticsearch文件:

sudo vim /etc/default/elasticsearch

并确保下面的行被设置或取消注解,并将其设置为总内存的一半:

ES_HEAP_SIZE=4g

然后保存文件,并重新启动elasticsearch:

sudo service elasticsearch restart

关于设置堆大小的更多信息,你可以查看this article here,当然指南告诉你只需要使用export命令创建一个环境变量;但是,这对我不起作用,尽管/etc/default/elasticsearch文件可以工作,即使在重新启动后也可以。
注意:不要将堆大小设置为超过32 Gb。使用小数表示heap_size会破坏Elasticsearch。如果你需要使用部分Gb,那么就像这样使用Mb:ES_HEAP_SIZE=3750m工作起来很有魅力。

ecfdbz9o

ecfdbz9o2#

Rajni是完全正确的。我和OP有同样的问题,发现在服务脚本的开头设置了所有的值:

ES_HOME=/opt/elasticsearch
ES_MIN_MEM=256m
ES_MAX_MEM=2g
DAEMON=$ES_HOME/bin/elasticsearch
NAME=elasticsearch
DESC=elasticsearch
PID_FILE=/var/run/$NAME.pid
LOG_DIR=/var/log/$NAME
DATA_DIR=/var/lib/$NAME
WORK_DIR=/tmp/$NAME
CONFIG_FILE=$ES_HOME/config/elasticsearch.yml
r7s23pms

r7s23pms3#

哈哈,我的代表性太低了,简单地回答:但我只是想确认文件/etc/init.d/elasticsearch包含启动信息。MIN和MAX_MEM是最小和最大堆大小
我很确定,如果您在systemd上,等效的文件将在/etc/default/下
重新启动elasticsearch以使您的设置生效。如果您在systemd上:sudo systemctl restart elasticsearch.如果由于设置错误导致重启失败,sudo systemctl status elasticsearch
此答案讨论了其他几个选项How to change Elasticsearch max memory size

yzckvree

yzckvree4#

在jvm.options文件中更新JVM堆大小
停止elasticsearch
文件路径:/etc/elasticsearch/
命令:sudo nano /etc/elasticsearch/jvm.options
=〉取消注解并更新JVM堆大小:

相关问题