linux问题排查之定位问题进程原因

经常遇到这种情况,早晨起来,打开电脑,习惯性打开top看下机器状态,发现内存和cpu负载特别高,而且Command栏赫然写着“Python3”!

这就让人摸不着头脑了,如何定位是什么程序呢?下面给展示一般的操作思路:

  1. 拿到该进程号pid
  2. 通过ps查看应用:ps aux|grep pid
    ipcc     281020 39.5  2.6 1025560 425540 ?      Sl   01:18 341:29 /usr/bin/python ./xxx.py

     

  3. 查看进程中 线程的CPU占用情况:top -H -p pid

     

  4. 找到占用cpu资源最多的线程,线程号为164130

    到此为止,其实一般的应用程序问题就一目了然了,大多数时候可能是应用本身的问题,关掉重启大法就行,如果是排查开发过程中的中间件问题,还需要继续跟进

  5. 跟踪该线程的执行栈,查看命令的执行情况:watch pstack 164130 (如果提示pstack 无可执行命令时,使用apt-get install pstack即可)
  6. 跟踪函数的调用,进一步可以通过strace命令进行验证:strace -f -p 164130,可以清晰的看到函数的调用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值