程序性能分析工具

很多优秀的工具都能帮助我们分析程序的性能、内存使用情况、瓶颈等问题。这里不讲原理,只介绍工具,原理请移步。

valgrind

这个工具很强大,它集成了诸如memcheck、massif等的多个工具,可以分析很多东西,其中memcheck是最常用的工具,可以检测内存使用情况以及泄漏情况,分析后输出的内容也足够详细。
安装:sudo apt-get install valgrind

gprof

GNU工具,可以分析函数的消耗时间,调用关系等。需要编译器的帮助,即编译时要加一个选项gcc -pg ...
安装:sudo apt-get install gprof

gprof2dot

这是个python写的工具,可以将gprof的输出信息提取后转成一张图片,图片中会显示各个函数的调用关系,但是里面的信息就少了很多。
安装:sudo pip3 install gprof2dot
github仓库

原文地址:https://www.cnblogs.com/xcw0754/p/8353662.html

时间: 2024-10-11 04:07:33

程序性能分析工具的相关文章

Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器

VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回收器.执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作. 在内存分析上,Java VisualVM的最大好处是可通过安装Visual GC插件来分析GC(Gabage Collection)趋势.内存消耗详细状况. 一  Visual GC(监控垃圾回收器) Java Visu

程序性能分析及性能测试

这里所说的程序是指对外提供tcp/ip交互协议的服务性程序.网络程序性能分析很重要,比如随着网络请求流量越来越大,我们需要知道已部署的服务能不能满足需求.这里采用对网络服务程序进行建模的方法分析影响程序性能的各要素,并计算相关性能值,它不够精确,但对我们使用其它工具对网络程序进行性能测试提供很好的理论指导. 1.网络请求 图1 什么是网络请求?如图1是<UNIX 网络编程>一书中表示网络交互过程的一幅图,整个请求是指从客户端到服务端 write->read->write->r

Linux程序性能分析和火焰图

Linux程序性能分析和火焰图 Linux程序的性能分析工具数量比较多,涉及到整个操作系统的方方面面,可能是开源的原因吧,相对于Windows来说丰富太多.其中应用分析性能方面Dtrace, SystemTap, Perf_events应该算是这方面的集大成者.Dtrace目前只在较高的内核版本有支持,记得是4.8以后, SystemTap则是需要在Red Hat的官方网站下载OS版本对应的调试符号和对应的调试版本内核,配置起来需要花费一定的时间,只有Perf_events使用起来比较方面,但是

Linux 系统性能分析工具sar一

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况.进程活动及IPC有关的活动等.本文主要以CentOS 6.3 x64系统为例,介绍sar命令. sar命令常用格式 sar [options] [-A] [-o file] t [n] 其中: t为采样间隔,n为采样次数,默认值是1: -o file表示将命

常用系统性能分析工具

Linux sar命令: sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况.进程活动及IPC有关的活动等. [root ~]$ sar --help 用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ] Options are: [ -A ] [ -b ] [ -B ] [ -

python程序性能分析

目录 python程序性能分析 cProfile line_profiler memory_profiler 资源监控 python程序性能分析 cProfile https://docs.python.org/3/library/profile.html https://www.cnblogs.com/kaituorensheng/p/4453953.html python -m cProfile [-o output_file] [-s sort_order] (-m module | my

Python程序性能分析实例

在进行代码评审时,得知资源处理程序运行时间很长,遂考虑对其进行性能分析 资源处理程序分为,读取处理.排序.输出三部分,在300万数量级的输入时,大约需要50分钟.对三部分分别计时,先使用10万输入数据进行测试,运行总时间为75秒,其中读取处理耗时65秒. 接下来计划对读取处理过程中的每一行代码进行时间统计,调研有无相关工具可以帮助进行性能分析.终于在http://blog.jobbole.com/47619/中找到合适的工具,line_profiler. 1.工具安装: 使用pip instal

[转]程序进行性能分析工具gprof使用入门

性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是要重点测试版本的性能表现和稳定性的.对于软件测试过程中发现的性能问题,如何定位有很多的方法.基本的方法可能是开发者对代码进行review,或者是使用一些工具对代码进行性能分析.常见的性能分析tuning工具有哪些呢?下面两篇文章做了详细的总结: https://computing.llnl.gov/

Linux C++程序进行性能分析工具gprof使用入门

性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是要重点测试版本的性能表现和稳定性的.对于软件测试过程中发现的性能问题,如何定位有很多的方法.基本的方法可能是开发者对代码进行review,或者是使用一些工具对代码进行性能分析.常见的性能分析tuning工具有哪些呢?下面两篇文章做了详细的总结: https://computing.llnl.gov/