Linux系统性能调试工具—strace

电子说

1.4w人已加入

描述

今天给大家分享一个linux内核自带的调试工具,该工具可用于查看和定位系统问题,进程运行过程探索,进行进程监控,对每个系统调用都可以监测,有助于我们优化系统性能。

话不多说,本文调试过程基于android10内核4.19版本。

  •  
strace ls

执行命令时,它会显示 ls 命令在运行过程中所进行的所有系统调用及其相关参数和返回值:

Linux系统

  •  
strace -h

执行该命令时,会列出strace的用法和相关的解释:

Linux系统

我们在使用的时候应该是对某个进程和服务进行定位和监控,在调试的时候先大致定位是什么功能有问题,针对性去排查。比如我们要检查摄像头功能在执行的过程中有没有问题:

Linux系统

  •  
strace -p 1944 -T

执行该指令显示每个系统调用的执行时间,由该信息,我们可以去判断我们在哪些指令上执行的系统调用花费的时间更长,进而再去定位相关的源代码,在做调试,后期在融入我们自己的代码程序时,也可以通过这样的方式进行调试:

Linux系统

  •  
strace -p 1944 -c

执行该指令会统计每个系统调用的次数、时间消耗等信息,并在程序结束时打印总结报告:

Linux系统

  •  
strace -p 1944 -tt

执行该指令,会在每个系统调用前加上时间:

Linux系统

  •  
strace -p 1944 -v

执行该指令会获取更多细节:

Linux系统

此外我们还可以把输出结果保存到文本里面,然后pull到电脑上供专业的人分析:

Linux系统

Linux系统

好了,就介绍到这里,其他指令大家可以自行探索和实践。


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分