elasticsearch內存耗盡的問題


elasticsearch傷心幾個月以來每星期都要抽風一次,突然間查詢非常慢, 看下liunx的內存幾乎被elasticsearch吃了個精光,就身下不到10M的內存。

開始按照網上給出的解決方案  啟動的時候給es設置個人固定大小的內存 

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

兩種方式都不行 設置之后整個es就啟動不了

后來看下下官方給出的建議說是要鎖定內存,於是我打開es配置文件找打一下節點放開

# 當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 在最后面加上以下兩行

* soft memlock unlimited
* hard memlock unlimited

* 號表示對所有用戶生效

 

以上操作暫時解決了內存問題 ,如果還不行繼續一下操作

之后我還是在es的配置文件 config/jvm.options   中對

-Xms2g
-Xmx2g

2個配置節點進行了修改 改成了 20g

設置成20g之后直接卡成狗了 所以我改回去之后 設置內存交換參數終於不卡了,貌似內存還是占多

打開liunx配置文件 /etc/sysctl.conf  修改內存交換參數 在最后一行增加 

vm.swappiness=1

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM