拓冰建站拓冰建站
首页 / 资讯中心 / 正文

9、驱动性能分析与优化--性能数据采集与分析

9.1 三种核心采集方法性能数据采集,业界主流就三招:采样法、追踪法、计数法。各有各的脾气,用对了地方就是神器。9.1.1 采样法(Sampling)采样法,说白了就是隔一段时间看一眼CPU在干嘛。比如每秒采样100次,记录当前执行的函数地址。最后统计每个函数出现的次数,就能知道CPU时间花在哪了。我个人习惯用perf做采样,命令很简单:# 采样30秒,记录CPU周期事件 perf record -e cycles -a -g -- sleep 30 perf report这里-g是生成调用链,-a是所有CPU都采。你想想看,如果某个函数占了80%的采样点,那它大概率就是瓶颈。我的经验:采样法对CPU密集型问题特别有效。但如果是I/O等待或者锁阻塞,采样法可能看不出来——因为CPU在空闲,采样点会落在 idle 函数上。9.1.2 追踪法(Tracing)追踪法不一样。它记录的是事件发生的完整轨迹。比如函数什么时候进入、什么时候返回、参数是什么。信息量比采样法大得多,但开销也大。Linux 下常用的追踪工具有ftrace、trace-cmd、
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门