i3 2100 cpu性能如何,方便好用的在线CPU性能调优工具--perf的常见用法

 2023-09-24 阅读 24 评论 0

摘要:perf 是 Linux 2.6.31 以后内置的性能分析工具。它是一款综合性分析工具,以性能事件采样为基础,可以分析从内核级别,到进程线程级别,甚至到函数及汇编级别的性能问题。 1 perf top 类似于 top,它能够实时显示占用 CPU 时钟最多的函数或者指

perf 是 Linux 2.6.31 以后内置的性能分析工具。它是一款综合性分析工具,以性能事件采样为基础,可以分析从内核级别,到进程线程级别,甚至到函数及汇编级别的性能问题。

1 perf top

类似于 top,它能够实时显示占用 CPU 时钟最多的函数或者指令


$ perf top
Samples: 833  of event 'cpu-clock', Event count (approx.): 97742399
Overhead  Shared Object       Symbol7.28%  perf                [.] 0x00000000001f78a44.72%  [kernel]            [k] vsnprintf4.32%  [kernel]            [k] module_get_kallsym3.65%  [kernel]            [k] _raw_spin_unlock_irqrestore
...

2 perf record + perf report

perf top 虽然实时展示了系统的性能信息,但它的缺点是并不保存数据,也就无法用于离线或者后续的分析。
perf record 则提供了保存数据的功能,保存后的数据,需要你用 perf report 解析展示。


$ perf record # 按Ctrl+C终止采样
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.452 MB perf.data (6093 samples) ]$ perf report # 展示类似于perf top的报告

在实际使用中,我们还经常为 perf top 和 perf record 加上 -g 参数,开启调用关系的采样,方便我们根据调用链来分析性能问题。

3 火焰图

perf report看起来还不是很方便,我们可以生成图形化的性能分析结果

$ perf record -F 99 -a -g -- sleep 60
$ perf script | ./stackcollapse-perf.pl > out.perf-folded
$ ./flamegraph.pl out.perf-folded > perf-kernel.svg

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/92913.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息