如何在selinux中快速定位cpu占用过高问题

如何在selinux中快速定位cpu占用过高问题:

在嵌入式linux开发中,经常会因为代码中因为一些代码中轮询过快导致cpu占用过高;
可能存在与某个线程中,很难去发现
这里总结了一套对于已知进程中到底是哪个线程引发的cpu占用过高问题行之有效的方法分享
核心命令使用如下:
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
(如上命令,有些嵌入式linux版本可能无法支持H参数,可去掉之,即ps -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu)
可以来解析下此命令,此命令的核心在于-eo参数,通过有序排列方式通过ps命令筛选cmd(此cmd就是你需要定位的进程命令挂载名称)进程所有的线程,通过cpu占用由高到低全部打印在shell中。

有了此命令只需要找到起线程命令的pthread_id在起线程的位置加入打印进程号就可以轻松知道对应代码入口的cpu占用是多少。后面具体对应线程那段代码引起的cpu占用过高问题就可以逐步排查之。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值