首页 / LINUX / linux perf简单总结
linux perf简单总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux perf简单总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2143字,纯文字阅读大概需要4分钟。
内容图文
clock、context-switches等待。默认情况下,perf stat 会输出几个常用的事件的统计,比如:
- task-clock-msecs:cpu 使用率
- context-switches:进程切换次数
- page-faults:发生缺页的次数
- cpu-migrations:表示进程运行过程中发生了多少次CPU迁移,即被调度器从一个CPU转移到另外一个CPU上运行
- cycles:处理器时钟,一条机器指令可能需要多个cycles
- instructions: 机器指令数目
- branches:遇到的分支指令数
- branch-misses是预测错误的分支指令数
除此之外,我们可以使用-e参数来指定我们感兴趣的事件,比如:
user@localhost:~$ perf stat -e cache-misses hostname localhost Performance counter stats for 'hostname': 682 cache-misses 0.000646676 seconds time elapsed 复制代码
perf top
perf top的作用是实时地显示系统当前的性能统计信息。前面的perf stat用于对一个特定的程序进行分析,而某些时候我们可能并不知道是哪个程序影响了系统性能,这时候就可以用perf top来查找可疑的程序。比如:
Samples: 775 of event 'cpu-clock', Event count (approx.): 92931021 Overhead Shared Object Symbol 8.93% [kernel] [k] vsnprintf 7.73% perf [.] rb_next 5.92% [kernel] [k] kallsyms_expand_symbol.clone.0 5.07% [kernel] [k] format_decode 4.59% [kernel] [k] number 3.40% perf [.] symbols__insert 3.03% libslang.so.2.2.1 [.] SLtt_smart_puts 复制代码
上面的例子显示perf统计了cpu-clock事件的数据,根据比例进行了排序。和perf stat一样,我们可以通过-e参数指定统计其他的事件,比如perf top -e context-switches可以查看进程切换最多的top N个进程。
perf record & perf report
perf record的作用和perf stat类似,它可以运行一个命令并生成统计信息,不过perf record不会将结果显示出来,而是将结果输出到文件中。perf record生成的文件可以用perf report来进行解析。
perf record还可以通过-g参数,在分析时生成calling graph,帮助定位更上层的逻辑分布。
其他
通过例子我们可以发现,perf的分析结果中的Symbol一列显示的都是c语言函数的名字。对于java来说,jit编译产生的函数就会直接显示在symbol里,而不是java的函数名,这时要定位问题就不是那么容易了,我们需要通过额外的手段将symbol和java程序的符号表对应起来,具体后续再讨论了。
作者:熊纪元
链接:https://juejin.cn/post/6844903950315945992
内容总结
以上是互联网集市为您收集整理的linux perf简单总结全部内容,希望文章能够帮你解决linux perf简单总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。