# 性能指标

您可以在 Qualcomm^®^ Linux^®^ 参考设备上访问启动时间、系统基准测试、内存映射和产品细分关键性能指标 (KPI) 的性能指标。

以下小节介绍了 QCS6490 和 QCS5430 的性能指标和测量程序。

有关 Qualcomm Dragonwing^™^ IQ-9075、Qualcomm Dragonwing^™^ IQ-8275 和 Qualcomm Dragonwing^™^ IQ-615 性能仪表板和测量程序，请参阅相应的附录。以下指南中提供了补充信息，并且这些指南可供具有授权访问权限的许可用户使用：

- [Qualcomm Linux Performance Guide - Addendum for Qualcomm Dragonwing IQ-9075](https://docs.qualcomm.com/bundle/resource/topics/80-70020-10A/overview.html)
- [Qualcomm Linux Performance Guide - Addendum for Qualcomm Dragonwing IQ-8275](https://docs.qualcomm.com/bundle/resource/topics/80-70020-10B/overview.html)
- [Qualcomm Linux Performance Guide - Addendum for Qualcomm Dragonwing IQ-615](https://docs.qualcomm.com/bundle/resource/topics/80-70020-10C/overview.html)

Tab QCS6490
Tab QCS5430

- *class* tabincludedirective

    - - *class* tabincludedirective

    - 

## 启动时间

启动时间是指从设备开机到录制服务初始化的持续时间。

下表列出了 QCS6490 上测得的启动时间（值以秒为单位）：

| 用例 | 得分 |
| --- | --- |
| 录制器初始化之前的总启动时间 | 9.35 |

Note

启动时间分数越低越好。

有关测量过程的信息，请参阅[启动时间测量](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#boot-time-measurement-procedure)。

### 系统基准

Geekbench 是用于测量 CPU 性能的实用工具。它提供了以下有关 QCS6490 的 CPU 基准分数：

| 基准 | 版本 | 基准分数 |
| --- | --- | --- |
| Geekbench ST | 6.1.0 | 1177 |
| Geekbench MT | 6.1.0 | 3110 |

有关测量过程的信息，请参阅[系统基准测量](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#system-benchmark-measurement-procedure)。

Note

系统基准分数越高越好。

### 内存映射

下表列出了每个分区（例如非 Linux、内核静态和应用程序）的内存消耗（以 MB 为单位的值）。还列出了设备启动后和用例运行期间（例如 30 fps 的 4k 分辨率编码）系统可用的总空闲内存。

| 内存分区 | 启动后 | 4K30 编码 | 4K30720p30 编码 | 4K30 编码 sHDRv2 | 4K30 编码 sHDRv3 |
| --- | --- | --- | --- | --- | --- |
| 总 RAM | 6144 | 6144 | 6144 | 6144 | 6144 |
| 非 Linux | 615 | 615 | 615 | 615 | 615 |
| 静态内核 | 152 | 152 | 152 | 152 | 152 |
| 应用 + 框架 | 658 | 1324 | 1387 | 1574 | 1832 |
| 总空闲内存 | 4719 | 4052 | 3990 | 3802 | 3545 |

有关测量过程的信息，请参阅[内存映射测量](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#memory-map-measurement-procedure)。

Note

总空闲内存值越大，系统性能越出色。

### 用例 KPI

下表列出了各种 QCS6490 摄像头用例的摄像头延迟测量数据（以秒为单位的值）：

| 用例 | 延迟定义 | 延迟 |
| --- | --- | --- |
| 4K 首个拍照延迟 | 开机后从首次捕获图像到创建拍照的时间 | 0.38 |
| 4K 后续拍照延迟 | 从捕获图像到创建拍照（及后续拍照）的时间 | 0.36 |
| 4K30 编码首个录制延迟 | 启动后首次从 GStreamer Connect 到第一个视频编码帧的时间 | 0.409 |
| 4K30 编码后续录制延迟 | 从 GStreamer Connect 到后续视频编码帧所花费的时间 | 0.329 |
| 4K30 sHDRv2 编码首个录制延迟 | 启动后首次从 GStreamer Connect 到 4K30 sHDRv2 的第一个视频编码帧所花费的时间 | 0.815 |
| 4K30 sHDRv2 编码后续录制延迟 | 从 GStreamer Connect 到 4K30 sHDRv2 的后续视频编码帧所花费的时间 | 0.442 |
| 4K30 sHDRv3 编码首个录制延迟 | 启动后首次从 GStreamer Connect 到 4K30 sHDRv3 的第一个视频编码帧所花费的时间 | 0.606 |
| 4K30 sHDRv3 编码后续录制延迟 | 从 GStreamer Connect 到 4K30 sHDRv3 的后续视频编码帧所花费的时间 | 0.563 |
| 4K30 G2G（摄像头传感器到显示器）预览 | 从传感器输出帧到在外部显示器上预览该帧所花费的时间 | 0.2 |

Note

摄像头延迟值越小越好。

有关测量过程的信息，请参阅[摄像头录制/拍照延迟测量](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#camera-recording-snapshot-latency)。

- *class* tabincludedirective

    - - *class* tabincludedirective

    - 

## 启动时间

> 
> 
> 启动时间是指从设备开机到录制服务初始化的持续时间。
> 
> 
> 下表列出了在 QCS5430上测得的启动时间（值以秒为单位）：
> 
> 
> 
> 
> 
> 
> | 用例 | FP 1 分数 | FP 2 分数 | FP 2.5 分数 | FP 3 分数 |
> | --- | --- | --- | --- | --- |
> | 启动时间（基于日志） | 10.3 | 9.2 | 9.29 | 9.142 |
> 
> 
> 
> Note
> 
> 
> 启动时间分数越低越好。
> 
> 
> 有关测量过程的信息，请参阅[启动时间测量](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#boot-time-measurement-procedure)。

### 系统基准

Geekbench 是用于测量 CPU 性能的实用工具。它提供了以下有关 QCS5430 的 CPU 基准分数：

| 基准 | 版本 | FP 1 的基准分数 | FP 2 的基准分数 | FP 2.5 的基准分数 | FP 3 的基准分数 |
| --- | --- | --- | --- | --- | --- |
| Geekbench ST | 6.1.0 | 953 | 982 | 1047 | 1056 |
| Geekbench MT | 6.1.0 | 2204 | 2856 | 2971 | 3053 |

有关测量过程的信息，请参阅[系统基准测量](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#system-benchmark-measurement-procedure)。

Note

系统基准分数越高越好。

### 内存映射

下表列出了每个分区（例如非 Linux、内核静态和应用程序）的内存消耗（以 MB 为单位的值）。还列出了设备启动后和用例运行期间（例如 30 fps 的 4k 分辨率编码）系统可用的总空闲内存。

| 内存分区 | 启动后 | 4K30 编码 | 4K30720p30 编码 | 4K30 编码 sHDRv2 | 4K30 编码 sHDRv3 |
| --- | --- | --- | --- | --- | --- |
| 总 RAM | 6144 | 6144 | 6144 | 6144 | 6144 |
| 非 Linux | 615 | 615 | 615 | 615 | 615 |
| 静态内核 | 152 | 152 | 152 | 152 | 152 |
| 应用 + 框架 | 651 | 1297 | 1374 | 1577 | 1876 |
| 总空闲内存 | 4726 | 4080 | 4003 | 3800 | 3496 |

有关测量过程的信息，请参阅[内存映射测量](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#memory-map-measurement-procedure)。

Note

总空闲内存值越大，系统性能越出色。

### 用例 KPI

下表列出了各种 QCS5430 摄像头用例的摄像头延迟测量数据（以秒为单位的值）：

| 用例 | 延迟定义 | FP 1 的延迟 | FP 2 的延迟 | FP 2.5 的延迟 | FP 3 的延迟 |
| --- | --- | --- | --- | --- | --- |
| 4K 首个拍照延迟 | 开机后从首次捕获图像到创建拍照的时间 | 0.352 | 0.350 | 0.362 | 0.374 |
| 4K 后续拍照延迟 | 从捕获图像到创建拍照（及后续拍照）的时间 | 0.350 | 0.348 | 0.350 | 0.357 |
| 4K30 编码首个录制延迟 | 启动后首次从 GStreamer Connect 到第一个视频编码帧的时间 | 0.522 | 0.427 | 0.425 | 0.410 |
| 4K30 编码后续录制延迟 | 从 GStreamer Connect 到后续视频编码帧所花费的时间 | 0.492 | 0.369 | 0.372 | 0.272 |
| 4K30 sHDRv2 编码首个录制延迟 | 启动后首次从 GStreamer Connect 到 4K30 sHDRv2 的第一个视频编码帧所花费的时间 | 0.885 | 0.821 | 0.939 | 0.798 |
| 4K30 sHDRv3 编码首个录制延迟 | 启动后首次从 GStreamer Connect 到 4K30 sHDRv3 的第一个视频编码帧所花费的时间 | 0.755 | 0.742 | 0.739 | 0.694 |
| 4K30 G2G（摄像头传感器到显示器）预览 | 从传感器输出帧到在外部显示器上预览该帧所花费的时间 | 0.2 | 0.2 | 0.2 | 0.2 |

Note

摄像头延迟值越小越好。

有关测量过程的信息，请参阅[摄像头录制/拍照延迟测量](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#camera-recording-snapshot-latency)。

## 测量程序

测量过程涉及 KPI，包括启动时间、系统基准、录制延迟和拍照延迟。

### 启动时间测量

启动时间是从设备开机到录制服务初始化的持续时间。

> 
> 
> 要测定启动时间，请执行以下操作：
> 
> 1. 在设备上电过程中收集串口日志，注意启动加载程序时间。要收集 Linux 主机上的串行日志，请执行以下操作：
> 
>     1. 在设备和 Linux 主机 PC 之间连接串行线缆。
>     2. 连接 UART 终端获取串口日志。请参阅[连接至 UART shell](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-254/how_to.html#connect-to-a-uart-shell)，以便设置 UART 终端。
>     3. 关闭设备。
>     4. 打开设备。
>     5. 保存终端的串口日志。
> 2. 设备启动并稳定后，在设备上运行以下命令以收集日志：
> 
> 
> journalctl --output=short-monotonic -b --no-pager -l > /var/lib/journalctl.txt
>         Copy to clipboard
> 
> 
> systemd-analyze time > /var/lib/systemd-time.txt
>         Copy to clipboard
> 
> 
> 
> 有关 systemd-analyze 工具的更多信息，请参阅[性能分析工具](https://docs.qualcomm.com/doc/80-70020-10SC/topic/13-performance_tools.html#performance-tools)。
> 
> 
> 下表描述了带有启动时间 KPI 日志标记的启动时间（值以秒为单位）测量过程：
> 
> 
> 
> 
> 
> 
> | 启动时间阶段 | 日志 | 起止点的日志标记 | 计算 | 启动时间 |
> | --- | --- | --- | --- | --- |
> | PBL+XBL | 串口日志 | `UEFI Start` | `UEFI Start [1818]` | 1.818 |
> | 核心 UEFI | 串口日志 | `UEFI Total` | `UEFI Total: 1071 milliseconds` | 1.071 |
> | 内核加载程序 | 串口日志 | `Exit EBS [3469] UEFI End` | `Exit EBS – (Core UEFI + PBL+XBL)` | 3.469 - (1.071 + 1.818 ) = 0.580 |
> | 内核总时间 | systemd-analyze | `Kernel init time` | `Start-up finished in 3.300 seconds (kernel) + 2 min 6.300 seconds (user space) = 2 min 9.600 seconds multi-user.target reached after 2 min 6.280 seconds in user space` | 3.300 |
> | 内核初始化时间 | journalctl.txt | `enforcing=1 old_enforcing=0` | `1980-01-06T00:00:01.538918+00:00 qcm6490 kernel: [1.854242][T77] audit: type=1404 audit(5.003:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295 enabled=1 old-enabled=1 lsm=selinux res=1` | 1.854 |
> | 录制初始化时间 | journalctl.txt | `Recorder time: Spectra camera driver initialized` `kernel init time: enforcing=1 old_enforcing=0` `Recorder init time = recorder time - kernel init time` | `1980-01-06T00:02:00.431978+00:00 qcm6490 kernel: [6.493781][T551] CAM_INFO: CAM-UTIL: camera_init: 297 Spectra camera driver initialized.` | 6.494 |
> | 截至录制初始化所经历的总时间 | – | – | `PBL+XBL + Core UEFI + Kernel Loader + Kernel total Time + (recorder init time – kernel init)` | 11.409 |

### 系统基准测试

Geekbench 是一种用于根据既定基准衡量系统性能的工具。

要使用 Geekbench 测量系统性能，请执行以下操作：

1. 要从上游的 Linux/ARM 部分下载 Geekbench，请参阅 [Geekbench](https://www.geekbench.com/preview/)。

Note

Geekbench 6 for Linux/AArch64 是一个预览编译版本。Geekbench 版本可能会更改，本节所述步骤仅供参考。预览编译版本需要主动联网并将基准结果自动上传到 Geekbench 浏览器。
2. 要使用 Geekbench 测量 CPU 基准测试，请执行以下操作：

    1. 解压 Geekbench 文件并将其从主机推送至设备中，使用 SCP 或类似工具。确保在第一个命令中指定目标 IP 地址。下面是示例命令：

scp -r Geekbench-6.3.0-LinuxARMPreview root@10.92.174.66:/var/cache/
            Copy to clipboard

cd /var/cache
            Copy to clipboard

chmod 777 Geekbench-6.3.0-LinuxARMPreview/*
            Copy to clipboard
    2. 请在设备上运行以下命令，以便运行 Geekbench：

cd Geekbench-6.3.0-LinuxARMPreview
            Copy to clipboard

./geekbench_aarch64
            Copy to clipboard

### 内存映射测量

内存映射提供有关如何为不同进程分配内存的信息。内存映射测量允许您监视映射的进程并排查任何内存问题。

要计算内存映射，可启动设备并等待设备稳定。然后，运行以下命令收集设备日志：

cat /proc/meminfo
    Copy to clipboard

cat /proc/iomem
    Copy to clipboard

cat /proc/vmstat
    Copy to clipboard

### 非 Linux 内存

使用以下公式计算非 Linux 内存：

非 Linux = 总 RAM 大小 - Linux 总内存

运行以下命令计算总 RAM 大小：

cat /proc/meminfo | grep -i "MemTotal"
    Copy to clipboard

MemTotal 为 5512456 kB，相当于约 6 GB 的 RAM。

要根据 `iomem` 计算 Linux 总内存，请运行以下命令：

cat /proc/iomem | grep System
    Copy to clipboard

以下是命令的输出：

83600000-839fffff : System RAM

9c700000-9d08dfff : System RAM

9d096000-9d0a0fff : System RAM

9d0a9000-9d4ccfff : System RAM

9d4dc000-9d58efff : System RAM

9d598000-9e813fff : System RAM

9e833000-9e87dfff : System RAM

9e887000-9e890fff : System RAM

9e899000-9ed52fff : System RAM

9edcb000-9f7fbfff : System RAM

9f800000-9f9fffff : System RAM

9fc00000-a00cffff : System RAM

e3400000-1ffffffff: System RAM

Linux 总内存为系统 RAM 地址差之和。

例如：

839fffff − 83600000 = 4194303 字节 = 3.99 MB

### 静态内核

使用以下公式计算静态内核：

静态内核 = Linux 总内存 - MemTotal

MemTotal 在 meminfo 中可用，如下：

MemTotal: 4513944 kB

### 应用 + 框架内存计算

使用以下公式计算应用程序和框架使用的内存：

应用程序 + 框架 = MemTotal - 可用内存

### 空闲内存计算

使用以下公式计算可用内存：

可用内存 = MemFree + (Cached − shmem) + 缓冲区 + ION 缓存

请运行以下命令，以便获取可用内存详细信息：

cat /proc/meminfo
    Copy to clipboard

以下是命令的输出：

MemTotal:     4513944 kB
    MemFree:      3471436 kB
    MemAvailable: 3816716 kB
    Buffers:      9216 kB
    Cached:       574856 kB
    Shmem:        24776 kB
    Copy to clipboard

要查看 ION 缓存的 vmstat 日志，可运行以下命令：

cat /proc/vmstat
    nr_kernel_misc_reclaimable 16217
    Copy to clipboard

其中，16217 页约为 63.3 MB。计算如下：

16217 页 \* 4 kB/页 = 64868 kB（因为 1 kB = 1024 字节）

要转换为兆字节 (MB)，请按如下方式计算 ION 缓存：

64,868 kB ÷ 1024 = 63.3 MB。

### 摄像头录制/拍照延迟测量

本节介绍了摄像头录制/拍照延迟测量过程。

要在每次重启后完成先决条件，请在设备上运行以下命令：

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

setprop persist.qmmf.kpi.debug 2
    Copy to clipboard

### 首次录制延迟

要捕获日志，可按以下步骤操作：

1. 启动设备并等待设备稳定。
2. 在一个 shell 中运行以下命令：

cat /sys/kernel/debug/tracing/trace_pipe > trace.log
        Copy to clipboard
3. 在另一个 shell 中运行用例。
4. 停止跟踪日志。
5. 要测量录制延迟，请参见[参考表](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#section-xsz-db5-51c-caharris-03-21-24-053-19-287)。

### 后续录制延迟

1. 启动设备。
2. 设备稳定后，运行用例。
3. 停止用例。
4. 在一个 shell 中运行以下命令：

cat /sys/kernel/debug/tracing/trace_pipe > trace.log
        Copy to clipboard
5. 在另一个 shell 中运行用例。
6. 停止跟踪日志。
7. 要测量录制延迟，请参见[参考表](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#section-xsz-db5-51c-caharris-03-21-24-053-19-287)。

### 首个拍照延迟

1. 启动设备。
2. 在设备稳定后，在一个 shell 中运行以下命令：

cat /sys/kernel/debug/tracing/trace_pipe > trace.log
        Copy to clipboard
3. 在另一个 shell 中运行用例。
4. 停止跟踪日志。
5. 要测量拍照延迟，参见[参考表](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#section-xsz-db5-51c-caharris-03-21-24-053-19-287)。

### 后续拍照延迟

1. 启动设备。
2. 设备稳定后，在另一个 shell 中运行用例。
3. 停止用例。
4. 在一个 shell 中运行以下命令：

cat /sys/kernel/debug/tracing/trace_pipe > trace.log
        Copy to clipboard
5. 运行用例。
6. 停止跟踪日志。
7. 要测量拍照延迟，参见[参考表](https://docs.qualcomm.com/doc/80-70020-10SC/topic/46-performance-dashboard.html#section-xsz-db5-51c-caharris-03-21-24-053-19-287)。

### 摄像头传感器到显示器预览延迟

1. 开始摄像头预览。
2. 在任何显示器上启动秒表计时器，并将计时器面向摄像头传感器。
3. 连接外部显示器。
4. 使用外部摄像头在同一次拍摄中拍摄外部显示器预览和秒表计时器窗口的照片。
5. 记录秒表计时器和外部显示器预览的时间差。

### 测量的参考表

| 用例 | 日志标记 | 计算 | 延迟 |
| --- | --- | --- | --- |
| 录制延迟 | `273.082629: tracing_mark_write: B|Connect`<br><br><br>`273.119992: tracing_mark_write: B|StartCamera`<br><br><br>`276.722946: tracing_mark_write: B|CreateVideoTrack`<br><br><br>`276.731158: tracing_mark_write: B|StartVideoTrack`<br><br><br>`277.306283: tracing_mark_write: E|FirstVidFrame|1` | `Connect to Start Camera = StartCamera − Connect`<br><br><br>`StartCamera to CreateVideoTrack = CreateVideoTrack − StartCamera`<br><br><br>`CreateVideoTrack to StartVideoTrack = StartVideoTrack − CreateVideoTrack`<br><br><br>`StartVideoTrack to FirstVidFrame = FirstVidFrame − StartVideoTrack`<br><br><br>`Rec latency = sum of above all` | Connect to Start Camera = 273.120 − 273.083 = 0.037<br><br><br>StartCamera to CreateVideoTrack = 276.722 − 273.120 = 3.602<br><br><br>CreateVideoTrack to StartVideoTrack = 276.723 − 276.722 = 0.001<br><br><br>StartVideoTrack to FirstVidFrame = 277.306 − 276.731 = 0.575<br><br><br>Record latency = 4.223 |
| 拍照延迟 | `303.975067: tracing_mark_write: S|FirstCapImg|0`<br><br><br>`304.544265: tracing_mark_write: S|SnapShot-Shot|0` | `Snapshot latency = snapshot − FirstCapimg` | Snapshot latency = 304.544 − 303.975 = 569 |

Last Published: Jul 23, 2025

[Previous Topic
排查性能问题](https://docs.qualcomm.com/bundle/publicresource/80-70020-10SC/topics/24-debug.md) [Next Topic
参考资料](https://docs.qualcomm.com/bundle/publicresource/80-70020-10SC/topics/56-references.md)