ES集群CPU占用高问题总结

线上三台集群部署的集群占用CPU过高,均接近100%,下面分析一下问题根源以及解决思路。

Top查看CPU内存情况

CPU内存情况

ES进程133248的CPU占用达到117.2%,内存占用19.1G

查看CPU占用高的线程curl -XGET "http://*:9200/_nodes/hot_threads"

ESCPU占用高的线程

cpu占用比较高时,ES正在执行lucene的排序或查询任务

查看ES正在执行任务curl -XGET "http://*:9200/_tasks?pretty"

ES正在执行任务

发现3个节点有近160个任务正在执行,其中任务占100个左右,写入任务占30个左右

总结

综上分析,ES占用CPU过高是由于正在执行任务太多导致;
业务上的原因是:后台大量定时任务需要查询ES,并且查询过程中涉及到反查,所以比较耗费ES性能。

参考资料

Task management API | Elasticsearch Guide [8.2] | Elastic
Elasticsearch CPU高排查思路
elasticsearch服务器CPU100%分析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容