记录一次排查cpu 上涨问题

问题:

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

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

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

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

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

原文地址:https://www.cnblogs.com/simplepaul/p/13834028.html