加载中...

perf(perf_events)是 Linux 内核内置的性能分析框架及其配套命令行工具,可利用 CPU 硬件性能计数器、软件事件与内核跟踪点,对系统和应用进行低开销的性能剖析,是 Linux 上最重要的性能工具之一。
perf 以采样方式工作:按固定频率中断 CPU 并记录当时的指令地址与调用栈,统计聚合后即可看出程序把时间花在哪些函数上;也可精确计数缓存未命中、分支预测失败、上下文切换等事件,定位微架构层面的瓶颈。
perf top 实时查看系统热点函数;perf record -g ./app 采样并记录调用栈,perf report 交互式分析;perf stat cmd 输出指令数、IPC、缓存命中等汇总指标。perf record 的输出经 stackcollapse 与 flamegraph 脚本处理即可生成火焰图(Flame Graph),由 Brendan Gregg 推广,已成性能分析的通用可视化手段。

登录 后参与讨论
暂无讨论,来发表第一条评论吧