记录一次排查cpu 上涨问题

问题:

     迁移重构时新站点的时候,压测过程中发现一个问题。cpu 随着url 的不断打入,cpu 使用率不断上涨,甚至 一直到 100%。发现这个现象后,首先第一个反应是,肯定是 某处代码发生了死循环,导致大量线程block住。

 

排查过程(过程走了很多弯路):

     1. 首先找到服务进程,pstack 看看有哪些线程 出现了相同的栈,多看几次,看哪些线程 是一直存在的,找到怀疑的线程。这里会发现 很多线程有一些类似的栈

     2.找到一个怀疑的线程,gdb attach 到进程中,看 info threads, 确实很多线程是在一个栈上 ,然后 切换到 怀疑的线程上,thread x , 在栈上 找到相应代码中一些关键变量打印出来,以及 造成问题的url。

     3.对应有问题的变量,看代码中的逻辑是否有问题,以及对应加载的数据文件是否存在问题。

posted @ 2020-10-18 10:31  爱简单的Paul  阅读(222)  评论(0编辑  收藏  举报