Edit online

性能分析工具

本章节介绍常用的 Luban SDK 性能分析工具 Perf,可覆盖内核及应用分析。

Linux Perf 是一个强大的性能分析工具,内置于 Linux 内核中,用于监控和分析系统性能。通过收集和分析性能数据,perf 工具可帮助用户识别系统中的性能瓶颈和热点代码,从而进行优化。

Perf 工具的使用和配置步骤如下:
  1. 在 SDK 中,配置 Buildroot 功能:
    Third-party packages  --->
        [*] elfutils
        [*]   Install programs
  2. 在内核配置界面中,进行下列选择:
    General setup  --->
        Kernel Performance Events And Counters  --->
            [*] Kernel performance events and counters
  3. 在需要分析的应用程序编译选项处,增加调试及优化选项 -g -O2
    例如在 LVGL 的 CMakeList.txt 中,做如下设置:
    cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
    
    # project name
    project(lvgl-ui LANGUAGES C)
    
    # set demo folder
    set(DEMO_FOLDER aic_demo)
    
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -g")
  4. 系统启动后,使用 perf 命令,进行采样,
    例如:
    perf record -g -p 120 -- sleep 10  # 跟踪单个进程(进程 ID 为 120),记录调用栈(-g),采样 10 秒后退出

    采样完成后,会生成 perf.data 文件。

  5. 使用下列命令将 perf.data 文件转换成火焰图文件进行分析。
    perf script -i perf.data &> perf.unfold
  6. 通过 ADB、ssh 等方式将火焰图文件导出至 PC, 上传至 https://profiler.firefox.com/ 进行分析。
    效果示例如下图所示: