问题简介
我们项目运行在k8s集群中,在运行期间出现存在一个服务的cpu使用比较异常相对其他服务的cpu使用要远远要高
问题定位及分析
通过容器外部执行top -Hp pid命令查看异常服务进程的线程使用情况
上面为找到明显的性能消耗线程,但是却总有10左右的线程消耗cpu比较多,跟踪其中占用为11.8的系统调用情况如下
上面执行大量重复的唤醒和阻塞操作
进入到k8s容器中安装Htop apk add Htop
然后再执行Htop 查看线程上面的cpu消耗再结合jstack 里面的线程id
最终定位到如下调用存在问题疑点