昨天早上刚到公司,客户就打电话给我说:你们的程序占用CPU都100%了,影响其他服务,赶紧过去处理一下!于是马不停蹄的到了现场。

现场环境:Red Hat Linux系统,其他配置都比较牛X的,运行了我们的数据库(XXXDB)以及其他应用。

1.用top命令看了一下CPU和内存的情况,果然我们数据库占用基本在100%以上

2.用ps aux | grep XXXDB 查看我们数据库的PID(yyy)

3.ps -efL | grep yyy查看进程下的所有线程情况,看第5列(正常的为0,找出非0值对应前面第2列的值(nnn))

4.pstack nnn此时可以看出这个线程在哪些函数有问题,修改这些函数就ok了