# 性能分析工具

使用分析工具检查 CPU 性能。

## 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. 请使用安全复制协议 (SCP) 或类似工具，以便将 ftrace 从目标拉取至主机。确保在命令中指定目标 IP 地址。以下是在主机上运行的示例命令：

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

关于更多详细信息，请参阅 [https://www.kernel.org/doc/html/v4.17/trace/ftrace.html](https://www.kernel.org/doc/html/v4.17/trace/ftrace.html)。

## Linux Trace Toolkit next generation (LTTng)

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

关于更多详细信息，请参阅 [https://lttng.org/docs/v2.13/](https://lttng.org/docs/v2.13/)。

## Eclipse 的 Trace Compass

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

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

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

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

## Qualcomm Profiler

- Qualcomm^®^ Profiler CLI 是一个命令行界面工具。
- 可将其用作性能分析工具，以在整个 Qualcomm 片上系统 (SoC) 发掘、评测及优化应用扩展的改进机会。
- 它支持 CPU、GPU、进程、内存和 I/O 分析指标。
- 从 [Qualcomm Software Center (QSC)](https://softwarecenter.qualcomm.com/#/) 将 Qualcomm Profiler 工具下载到主机上。
- 要安装 QSC，请参阅[使用 QSC Launcher 编译](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/build_from_source_qsc_gui_intro.html)。
- 有关如何使用 Qualcomm Profiler 工具的信息，请参阅 [Qualcomm Profiler CLI for Linux](https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-3/getting-started.html)。

## Perf 工具

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

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

perf --help
    Copy to clipboard

关于更多详细信息，请参阅 [https://perf.wiki.kernel.org/index.php/Main_Page](https://perf.wiki.kernel.org/index.php/Main_Page)。

## 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/systemd-analyze_250.5-r0_armv8-2a.ipk`
    3. 使用 SCP 或类似工具将 `.ipk` 文件从主机推送到设备中。以下是在主机上运行的示例命令。确保在命令中指定目标 IP 地址。

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

scp systemd-analyze_250.5-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_250.5-r0_armv8-2a.ipk
>         Copy to clipboard

关于更多详细信息，请参阅 [https://www.freedesktop.org/software/systemd/man/latest/systemd-analyze.html](https://www.freedesktop.org/software/systemd/man/latest/systemd-analyze.html)。

Last Published: Apr 29, 2025

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