当前位置: 首页 > ds >正文

Ubuntu 系统下安装和使用性能分析工具 perf

在 Ubuntu 系统下安装和使用性能分析工具 perf 的步骤如下:


1. 安装 perf

perf 是 Linux 内核的一部分,通常通过安装 linux-tools 包获取:

# 更新软件包列表
sudo apt update# 安装 perf(根据当前内核版本自动匹配)
sudo apt install linux-tools-common linux-tools-generic linux-tools-$(uname -r)
  • 如果提示 linux-tools-$(uname -r) 不可用,可能是你的内核版本较新或未更新。可以尝试:
    sudo apt install linux-tools-generic
    

2. 验证安装

perf --version

如果正常输出版本信息(如 perf version 5.15.0),则安装成功。


3. 解决常见问题

问题1:找不到 perf 命令
  • 原因:内核版本与工具包不匹配。
  • 解决:
    # 查看当前内核版本
    uname -r# 安装对应版本的工具包(替换为你的内核版本,例如 5.15.0-76-generic)
    sudo apt install linux-tools-5.15.0-76-generic
    
问题2:权限不足

运行 perf 需要 root 权限或调整 /proc/sys/kernel/perf_event_paranoid

# 临时降低安全限制(允许普通用户使用 perf)
sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid'# 或直接以 root 运行
sudo perf stat ls

4. 基本用法示例

统计命令执行性能
perf stat ls
采样 CPU 使用情况
# 采样 5 秒内 CPU 热点
perf record -F 99 -a -g -- sleep 5
perf report
查看函数调用图
perf top -g

5. 高级功能

  • 火焰图生成

    1. 安装依赖:
      sudo apt install git flamegraph
      
    2. 使用脚本生成火焰图:
      git clone https://github.com/brendangregg/FlameGraph
      perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl > output.svg
      
  • 监控特定进程

    perf top -p <PID>
    

6. 卸载 perf

sudo apt remove linux-tools-$(uname -r) linux-tools-generic

通过以上步骤,你可以在 Ubuntu 上顺利安装并使用 perf 进行性能分析。如果需要更详细的功能(如硬件事件监控),可能需要内核调试符号包(linux-image-dbg)。

http://www.xdnf.cn/news/1018.html

相关文章:

  • HarmonyOS-ArkUI: animateTo 显式动画
  • Git SSH 密钥多个 Git 来源
  • 承兑汇票文字录入解决方案-承兑汇票识别接口-C++集成方式
  • SQL优化
  • 安卓逆向工程:从APK到内核的层级技术解析
  • 聚客AI万字解密AI-Agent大模型智能体:从架构设计到工业落地的全栈指南
  • 算法题(130):激光炸弹
  • 力扣刷题Day 23:最长连续序列(128)
  • Azkaban集群搭建
  • 基于Python的图片/签名转CAD小工具开发方案
  • 13.电阻在EMC设计中的妙用
  • 黑苹果win10和macOS双系统
  • C++ 的史诗级进化:从C++98到C++20
  • MySQL 触发器
  • 三轴云台之激光测距技术篇
  • 软件工程师中级考试-上午知识点总结(上)
  • 小公司面经,当练手了
  • WPS科大讯飞定制版 11.4.1.5| 无广告,省电和降低占用,可与普通版本共存
  • [SpringBoot]配置文件
  • C++ STL:从零开始模拟实现 list 容器
  • 当前中国超融合市场的竞争格局以及针对不同需求场景的超融合产品推荐
  • OpenFeign 使用教程:从入门到实践
  • Augment Code全面解析:新晋AI编程助手全面提升开发效率
  • 语音合成(TTS)从零搭建一个完整的TTS系统-第二节-文本归一化
  • 【HDFS】verifyEC命令校验EC数据正确性
  • 空间应用中心AI4S空间科学实验研究成果发表于《中国科学院院刊》
  • DaemonSet 无法在带有污点的节点上启动 Pod
  • 解决离线部署气隙相关问题
  • 前端实现数据导出成excel
  • 【eNSP实验】带环回接口的多区域OSPF