gperf linux 安装_【性能】Linux性能分析神器perf、execsnoop的安装和使用

# yum  -y  install perf

# perf record -g

# perf report -i perf.data

# perf help report

-a, --all-cpus  System-wide collection. (default)

-g   Enables call-graph (stack chain/backtrace) recording.

#   perf  record  -ag -- sleep 15

#   perf report

在实际工作中,偶尔会遇到系统的CPU使用率和系统平均负载很高,但却找不到高CPU的应用。

产生这个问题的原因:进程有可能在不断的崩溃、重启。

通过uptime发现系统负载很高,但是通过top,mpstat,pidstat,perf等工具很难发现是什么进程导致了系统负载和CPU使用率很高。

注:通过上面工具的判断,即不是CPU密集型,也不存在IO等待,也不存在进程、线程争用的情况

execsnoop-专门用于为追踪短时进程(瞬时进程)设计的工具,它通过 ftrace 实时监控进程的 exec() 行为,并输出短时进程的基本信息,包括进程 PID、父进程 PID、命令行参数以及执行的结果。

centos 安装execsnoop cachestat等性能分析工具

https://www.codeleading.com/article/56251061422/

https://www.cnblogs.com/liujunjun/p/12248023.html

perf-tools/execsnoop

https://github.com/brendangregg/perf-tools/blob/master/execsnoop

Linux性能调优工具perf

https://www.cnblogs.com/gnivor/p/12535005.html

系统级性能分析工具perf的介绍与使用

https://www.cnblogs.com/arnoldlu/p/6241297.html

性能分析利器之perf浅析

https://msd.misuland.com/pd/3643782633961292984

Flame Graphs

http://www.brendangregg.com/flamegraphs.html

#  strace   -p   PID   -f

strace默认选项是不开启线程的,使用-f 选项开启现成跟踪。

#  perf record -e 'fs:*' -ag

#  perf report

使用perf命令可以从kernel层级记录文件系统的内核事件,相对strace我觉得perf还有一个优势就是对系统的消耗更低,更利于在生产环境使用。

perf report 更多的是统计上的分析,而 strace 则是可以看到每一个调用的细节

perf Examples

http://www.brendangregg.com/perf.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值