elasticsearch内存耗尽的问题

elasticsearch伤心几个月以来每星期都要抽风一次,忽然间查询很是慢, 看下liunx的内存几乎被elasticsearch吃了个精光,就身下不到10M的内存。html

开始按照网上给出的解决方案  启动的时候给es设置我的固定大小的内存 linux

export ES_HEAP_SIZE=10g
./bin/elasticsearch -Xmx10g -Xms10g.

两种方式都不行 设置以后整个es就启动不了bootstrap

后来看下下官方给出的建议说是要锁定内存,因而我打开es配置文件找打一下节点放开app

# 当JVM开始写入交换空间时(swapping)ElasticSearch性能会低下,你应该保证它不会写入交换空间 
# 设置这个属性为true来锁定内存,同时也要容许elasticsearch的进程能够锁住内存,linux下能够经过 `ulimit -l unlimited` 命令 
# bootstrap.mlockall: true 

# 确保 ES_MIN_MEM 和 ES_MAX_MEM 环境变量设置为相同的值,以及机器有足够的内存分配给Elasticsearch 
# 注意:内存也不是越大越好,通常64位机器,最大分配内存别才超过32G 

草。重启不了了,liunx还有个东西也须要同时配置 打开/etc/security/limits.conf 在最后面加上如下两行jvm

* soft memlock unlimited
* hard memlock unlimited

* 号表示对全部用户生效elasticsearch

 

以上操做暂时解决了内存问题 ,若是还不行继续一下操做ide

以后我仍是在es的配置文件 config/jvm.options   中对性能

-Xms2g
-Xmx2gui

2个配置节点进行了修改 改为了 20gspa

设置成20g以后直接卡成狗了 因此我改回去以后 设置内存交换参数终于不卡了,貌似内存仍是占多

打开liunx配置文件 /etc/sysctl.conf  修改内存交换参数 在最后一行增长 

vm.swappiness=1

 

参考 https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html 

相关文章
相关标签/搜索