昨天早上剛到公司,客戶就打電話給我說:你們的程序佔用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了