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

本文章参考http://blog.csdn.net/shamofeiyu/article/details/21336557,受益匪浅,特收藏,感谢作者。

1.linux系统CPU占用率高,首先需要查看那些进程cpu占用率高,这个通过top 命令,可以查看,
嵌入式linux下线程CPU占用跟踪_第1张图片

可见,我这里是n1l.bin 占用了几乎100% CPU,并且可看到进程id = 1526

2.进一步分析n1l.bin 里那些线程cpu占有率高,通过 pstree -f (进程pid) 命令查看进程下所有线程的pid,n1l.bin的id = 1526,输入 pstree -s 1526
嵌入式linux下线程CPU占用跟踪_第2张图片

分析发现,上面列车的线程数量,正好等于n1l.bin开启的线程数量,验证了准确性。

3.参考http://blog.csdn.net/shamofeiyu/article/details/21336557,打印出n1l.bin各线程的id,编写脚本stat.sh
嵌入式linux下线程CPU占用跟踪_第3张图片

编写运行脚本stat.sh,得到如下结果

嵌入式linux下线程CPU占用跟踪_第4张图片

可以看到:线程1528 1529 1530 1533 1538 cpu使用时间长,对应具体线程,
com_send RdThread WrThread DataSd_Thread Server27000_Thread

4.定位具体线程,分析什么原因导致cpu使用率高

你可能感兴趣的:(嵌入式linux,嵌入式)