Linux性能分析工具与图形化方法 (2)

Perf虽然可以挂接进程但需要root权限。在普通权限下,Perf和Valgrind必须使用前缀启动的方式来启动程序,这在某种程度上会影响到程序的性能。我们在压测的过程中发现使用Valgrind启动的时候,可以支持的在线总人数比直接运行程序要少很多。

4.2 程序侵入

Perf和Valgrind都不需要修改Makefile或者程序,但gprof需要重新编译文件,并且对于线程一直run的服务,还需要修改代码让其自然退出,这在一定程序上侵入了程序。但从对性能影响上来看,gprof可以最大限制的保留原程序的性能

4.3 结果展示

gprof的结果是一颗倒树,这颗树展示了从根到叶子的所有结点的时间消耗;perf的是一个金字塔,与gprof有异曲同工之妙;Valgrind的结果是一条单路,指出的是某条调用路径上的时间消耗,并不是一个全局的展示。

4.4 监控原理

这是一个很专业的话题,目前对三者的监控原理还没有摸的太透,所以这里暂时空着。大家有兴趣可以先行研究。

问答

linux实时调度算法?

Linux中的多线程处理?

相关阅读

Linux 常用性能工具简介

常见Linux调优命令和工具

性能优化:Linux环境下合理配置大内存页

 

此文已由作者授权腾讯云+社区发布,转载请注明文章出处

 原文链接:https://cloud.tencent.com/developer/article/1063652

Linux性能分析工具与图形化方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfyff.html