嵌入式linux下线程CPU占用跟踪

2019-07-12 15:15发布

本文章参考http://blog.csdn.net/shamofeiyu/article/details/21336557,受益匪浅,特收藏,感谢作者。 1.linux系统CPU占用率高,首先需要查看那些进程cpu占用率高,这个通过top 命令,可以查看,
这里写图片描述 可见,我这里是n1l.bin 占用了几乎100% CPU,并且可看到进程id = 1526 2.进一步分析n1l.bin 里那些线程cpu占有率高,通过 pstree -f (进程pid) 命令查看进程下所有线程的pid,n1l.bin的id = 1526,输入 pstree -s 1526
这里写图片描述 分析发现,上面列车的线程数量,正好等于n1l.bin开启的线程数量,验证了准确性。 3.参考http://blog.csdn.net/shamofeiyu/article/details/21336557,打印出n1l.bin各线程的id,编写脚本stat.sh
这里写图片描述 编写运行脚本stat.sh,得到如下结果 这里写图片描述 可以看到:线程1528 1529 1530 1533 1538 cpu使用时间长,对应具体线程,
com_send RdThread WrThread DataSd_Thread Server27000_Thread 4.定位具体线程,分析什么原因导致cpu使用率高