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

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)。

相关文章:

  • 人工智能在慢病管理中的具体应用全集:从技术落地到场景创新
  • Uniapp:创建项目
  • flutter 专题 六十六 Flutter Dio包网络请求抓包解决方案
  • 《马尼拉》桌游期望计算器
  • 240422 leetcode exercises
  • 2025高频面试算法总结篇【其他】
  • ADB->查看某个应用的版本信息
  • 性能比拼: Nginx vs Apache
  • vdso内核与glibc配合的相关逻辑分析
  • IDEA打不开、打开报错
  • 【Easylive】手动实现分布式事务解决方案流程解析
  • 【Flask】Explore-Flask:早期 Flask 生态的实用指南
  • 多模态大语言模型arxiv论文略读(三十三)
  • 【产品经理思维】
  • 多级缓存架构,让系统更快的跑起来!
  • 特伦斯智慧钢琴评测:如何用科技重塑钢琴学习新体验
  • Cribl 利用表向event 中插入相应的字段-example-01
  • C++入门语法
  • FreeRTOS中的优先级翻转问题及其解决方案:互斥信号量详解
  • 第十四届蓝桥杯 2023 C/C++组 平方差
  • 张文宏:加强基层医疗体系建设,提升传染病早期监测和预警能力
  • 外媒:罗马教皇方济各去世
  • 一年一CT,十年进ICU?关于CT检查致癌的真相
  • 中宣部等十部门联合印发《新时代职业道德建设实施纲要》
  • 神舟二十号全系统合练今日展开
  • 上海交大发布“AI十条”,鄂维南院士已任该校人工智能学院讲席教授