elasticsearch的CPU居高不下的問題

 

      最近項目中遇到一個令人頭疼的問題,畢竟因爲工作需要剛學elasticsearch,也沒有去關注elasticsearch的配置問題,安裝好默認把它當做數據庫一樣去使用,這導致接下來的項目直接掛掉......

       當做壓力測試的時候,也就五十個請求url,項目突然莫名其妙掛掉...這個不知道什麼原因。去服務器查看進程,發現elasticsearch的CPU佔有率達到接近50%(這裏指哪怕我停掉了相關的服務),甚至偶爾飆升更高,對於部署不少項目的服務器。。。這就是災難級別的

       後來查看elasticsearch的日誌,發現gc.log中幾乎每秒都要觸發一次GC full GC。內存不夠用,又沒有內存可以回收,所以GC也不斷,導致CPU這麼高,大部分都用在gc上面了。

       處理:調整elasticsearch可使用的內存大小。編輯config/jvm.options,調整Xms和Xmx的大小,由原來的默認的256m調整爲4g。(官方建議這個值不要超過物理內存的50%,也不要超過32G。詳見官網說明)接着重啓elasticsearch。然後觀察cpu,雖然偶爾飆升,但總體上是正常的,查詢也快了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章