博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
perf之record
阅读量:7221 次
发布时间:2019-06-29

本文共 2035 字,大约阅读时间需要 6 分钟。

如果CPU的使用率突然暴涨,如何迅速定位是哪个进程、哪段代码引起的呢?我们需要一个profiling工具,对CPU上执行的代码进行采样、统计,告诉我们CPU到底在忙些什么。

perf 就是这样的工具。我们举个例子看看 perf 是怎样工作的。

首先我们用以下命令模拟出CPU利用率暴涨的现象:

然后我们看到 CPU 1 的 %system 飙升到95%:

现在我们用 perf 工具采样:

注:”-a”表示对所有CPU采样,如果只需针对特定的CPU,可以使用”-C”选项。

把采样的数据生成报告:

我们很清楚地看到,CPU利用率有75%来自 cat 进程 的 sys_read 系统调用,perf 甚至精确地告诉了我们是消耗在 read_zero 这个 kernel routine 上。

 

转自:http://linuxperf.com/?p=36

转载地址:http://eyhym.baihongyu.com/

你可能感兴趣的文章
try catch finally
查看>>
Windows编程之作业篇
查看>>
一文了解“Service Mesh(服务网格)”的历史与现在
查看>>
使用 rt_tables 巧妙配置 Linux centos7多网卡多路由实现策略路由
查看>>
Javascript中的RegExp类型
查看>>
Java 基础
查看>>
Spring的代理选择
查看>>
PHP搭建简易留言板
查看>>
websphere set jndi
查看>>
ORACLE同义词总结
查看>>
浅谈教你如何掌握Linux系统
查看>>
做数据分析必须了解的获取数据与清洗数据技巧
查看>>
11月8日云栖精选夜读:如何让测试少加班?阿里Mock平台使用方法揭秘!
查看>>
netty源码分析(一)
查看>>
vue.js 总结
查看>>
深入理解JVM:Java内存模型JMM
查看>>
警惕,大数据已经侵入到你生活的方方面面
查看>>
[python] time 模块 -- 时间显示与程序计时
查看>>
仿QQ聊天工具(Android源码)
查看>>
JMeter做压力测试,先调用第一接口,拿到返回值后去调用第二个接口(入门级)...
查看>>