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 

相關文章
相關標籤/搜索