# 性能分析工具

使用以下分析工具检查系统性能：

- Function Tracer (ftrace) - 调试和分析延迟及性能问题。
- LTTng - 同时跟踪 Linux 内核和用户空间。
- Trace Compass (Eclipse) - 以图形方式可视化性能问题。
- Qualcomm^®^ Profiler CLI - 分析和优化 Qualcomm SoC 上的应用扩展。
- Perf 工具 - 评估 Linux 中的性能监控单元 (PMU) 计数器。
- Systemd-analyze - 分析和调试 Linux 中的系统启动性能。

## Function tracer (ftrace)

- 此工具可深入了解内核的操作。
- Function tracer 用于调试或分析延迟和性能问题。
- Function tracer 作为跟踪工具来收集内核空间跟踪以进行分析。

要收集 ftrace，请执行以下操作：

Note

以下步骤中指定的命令应在设备上运行。

1. 要启用跟踪事件，可从 SSH shell 运行以下命令：

mount -t debugfs none /sys/kernel/debug
        Copy to clipboard

echo 0 > /sys/kernel/tracing/tracing_on
        Copy to clipboard

echo 25600 > /sys/kernel/tracing/buffer_size_kb
        Copy to clipboard

echo "" > /sys/kernel/tracing/set_event
        Copy to clipboard

echo "" > /sys/kernel/tracing/trace
        Copy to clipboard
2. 要查看可用事件，请运行以下命令命令：

cat /sys/kernel/tracing/available_events
        Copy to clipboard
3. 要启用所需事件（例如调度器跟踪），可运行以下命令：

echo 1 > /sys/kernel/tracing/events/sched/sched_wakeup_new/enable
        Copy to clipboard

echo 1 > /sys/kernel/tracing/events/sched/sched_waking/enable
        Copy to clipboard

echo 1 > /sys/kernel/tracing/events/sched/sched_switch/enable
        Copy to clipboard
4. 请运行以下命令，以便了解设置事件：

cat /sys/kernel/debug/tracing/set_event
        Copy to clipboard
5. 要启动跟踪，可运行以下命令：

echo 1 > /sys/kernel/tracing/tracing_on
        Copy to clipboard
6. 运行用例。
7. 要在运行用例后停止跟踪，请运行以下命令：

echo 0 > /sys/kernel/tracing/tracing_on
        Copy to clipboard
8. 要保存跟踪，可运行以下命令：

cat /sys/kernel/tracing/trace > /opt/ftrace.txt
        Copy to clipboard
9. 要将 ftrace 从目标拉取至主机，请使用安全复制协议 (SCP) 或类似工具。确保在命令中指定目标 IP 地址。以下是在主机上运行的示例命令：

scp -r root@10.92.162.185:/opt/ftrace.txt /local/mnt/workspace/logs
        Copy to clipboard

如需了解更多信息，请参阅 [ftrace - Function Tracer](https://www.kernel.org/doc/html/v4.17/trace/ftrace.html)。

## Linux Trace Toolkit next generation (LTTng)

- LTTng 是一款开源跟踪工具。
- 用于同时跟踪 Linux 内核和用户空间。

如需了解更多信息，请参阅 [LTTng Documentation](https://lttng.org/docs/v2.13/)。

## Eclipse 的 Trace Compass

- Trace Compass 是一款开源工具，可提供图形视图，用以分析性能问题。
- 它可以解析包括 ftrace 和 LTTng 在内的多种跟踪类型，并可视化以下内容：

    - 内核资源
    - 内核控制流
    - 用户空间标记

Trace Compass 是一款主机应用，需要 Java 虚拟机才能在主机上工作。如需了解更多信息，请参阅 [Eclipse Trace Compass](https://projects.eclipse.org/projects/tools.tracecompass)。

要下载 Trace Compass，请参阅 [Eclipse Trace Compass - Downloads](https://projects.eclipse.org/projects/tools.tracecompass/downloads)。

## Qualcomm Profiler

- Qualcomm Profiler 是一款性能分析工具，用于在 Qualcomm 系统芯片 (SoC) 识别、测量及优化应用扩展的改进机会。
- 该工具支持 CPU、GPU、aDSP、cDSP、用户空间进程、内存和 I/O 分析指标。
- 要在主机上下载 Qualcomm Profiler 工具，请先下载并安装 Qualcomm Software Center。有关详细步骤，请参阅[安装 QSC Launcher](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-254/build_from_source_qsc_gui_intro.html#install-qsc-launcher)。
- 启动 Qualcomm Software Center，搜索 Qualcomm Profiler 并下载。
- 有关如何使用 Qualcomm Profiler 工具的详细信息，请参阅 [Qualcomm Profiler User Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-2/introduction.html)。

## Perf 工具

- Perf 工具是 Linux 中的一个开源分析工具，用于监控 PMU 计数器。
- 可用于获取函数调用协议栈。
- 它是 Qualcomm^®^ Linux^®^ 编译版本的组成部分。

请在设备上运行以下命令，以便运行 perf 工具：

perf --help
    Copy to clipboard

如需了解更多信息，请参阅 [perf: Linux profiling with performance counters](https://perfwiki.github.io/main/)。

## systemd-analyze

- systemd-analyze 是一个命令行工具，用于分析和调试 Linux 中的系统启动性能。
- 它对启动时的重要指标进行评测判断，并分析不同层（例如内核、用户空间平台和服务）的瓶颈。
- Yocto 系统 recipe 自带 systemd-analyze 工具。

要编译并安装 systemd-analyze 工具，请执行以下操作：

- 在主机上：

    1. 要编译 `systemd-analyze.ipk`，请在工作空间中运行以下命令：

bitbake systemd
            Copy to clipboard
    2. 在以下目录生成 `.ipk` 文件：

        `/build-qcom-wayland/tmp-glibc/deploy/ipk/armv8-2a/ssystemd-analyze_255.13-r0_armv8-2a.ipk`
    3. 使用 SCP 或类似工具将 `.ipk` 文件从主机推送到设备中。以下是在主机上运行的示例命令。确保在 SCP 命令中指定目标 IP 地址：

adb shell mount -o remount,rw /usr
            Copy to clipboard

scp systemd-analyze_255.13-r0_armv8-2a.ipk root@10.92.162.185:/usr/bin
            Copy to clipboard
- 目标上：

    通过运行以下命令安装 `.ipk` 文件：

> 
> 
> cd /usr/bin
>         Copy to clipboard
> 
> 
> opkg --nodeps install --force-reinstall /usr/bin/systemd-analyze_255.13-r0_armv8-2a.ipk
>         Copy to clipboard

如需了解更多信息，请参阅 [systemd-analyze — Analyze and debug system manager](https://www.freedesktop.org/software/systemd/man/latest/systemd-analyze.html)。

### 后续步骤

- [配置 CPU、GPU 和内存](https://docs.qualcomm.com/doc/80-70022-10SC/topic/14-configure.html#configure)

Last Published: Nov 02, 2025

[Previous Topic
影响性能的功能](https://docs.qualcomm.com/bundle/publicresource/80-70022-10SC/topics/2-performance-features.md) [Next Topic
配置 CPU、GPU 和内存](https://docs.qualcomm.com/bundle/publicresource/80-70022-10SC/topics/14-configure.md)