背景:
es 单个节点cpu一直持续很高,其它节点cpu不高。
观察这个节点的jvm使用率比较高,怀疑是jvm内存没释放导致内存寻址效率低,引起cpu过高。
解决方法:手动执行fullgc,
在线执行对业务无影响。
jcmd pid GC.run
使用jmap分析线程jvm
jmap -histo:live pid > jmap.pid
是因为节点没有做fullgc,导致jvm中引用增多没有释放,会导致cpu使用率升高。后台手动执行fullgc后,节点cpu恢复正常。建议对集群其他节点也做下fullgc