# 性能指标

性能指标的启动时间、系统基准、内存映射和产品细分的 KPI 可用于 Qualcomm Linux 参考硬件。

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

关于 QCS9075 和 QCS8275 性能指标和测量程序，请参阅相应的附录。以下指南中提供了补充信息，并且这些指南可供具有授权访问权限的许可用户使用：

- [Qualcomm Linux Performance Guide - Addendum for QCS9075](https://docs.qualcomm.com/bundle/resource/topics/80-70017-10A/overview.html)
- [Qualcomm Linux Performance Guide - Addendum for QCS8275](https://docs.qualcomm.com/bundle/resource/topics/80-70017-10B/overview.html)

Tab QCS6490
Tab QCS5430

- *class* tabincludedirective

    - - *class* tabincludedirective

    - 

## 启动时间

启动时间是指从设备上电到记录器服务初始化的持续时间。

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

| 用例 | 得分 |
| --- | --- |
| 启动时间（基于日志） | 6.43 |

Note

启动时间分数越低越好。

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

### 系统基准

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

| 基准 | 版本 | 基准分数 |
| --- | --- | --- |
| Geekbench ST | 6.1.0 | 1173 |
| Geekbench MT | 6.1.0 | 3053 |

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

Note

系统基准分数越高越好。

### 内存映射

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

| 内存分区 | 启动后 | 4K30 编码 | 4K30720p30 编码 | 4K30 编码 sHDRv2 | 4K30 编码 sHDRv3 |
| --- | --- | --- | --- | --- | --- |
| 总 RAM | 6144 | 6144 | 6144 | 6144 | 6144 |
| 非 Linux | 611 | 611 | 611 | 611 | 611 |
| 静态内核 | 151 | 151 | 151 | 151 | 151 |
| 应用 + 框架 | 490 | 1188 | 1243 | 1434 | 1536 |
| 总空闲内存 | 4892 | 4194 | 4139 | 3948 | 3846 |

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

Note

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

### 用例 KPI

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

| 用例 | 延迟定义 | 延迟 |
| --- | --- | --- |
| 4K 首个拍照延迟 | 开机后从首次捕获图像到创建拍照的时间 | 0.388 |
| 4K 后续拍照延迟 | 从捕获图像到创建拍照（及后续拍照）的时间 | 0.365 |
| 4K30 编码首个录制延迟 | 启动后首次从 GStreamer Connect 连接到第一个视频编码帧的时间 | 3.077 |
| 4K30 编码后续录制延迟 | 从 GStreamer Connect 连接到后续视频编码帧所花费的时间 | 0.303 |
| 4K30 sHDRv2 编码首个录制延迟 | 启动后首次从 GStreamer Connect 连接到 4K30 sHDRv2 的第一个视频编码帧所花费的时间 | 3.415 |
| 4K30 sHDRv2 编码后续记录延迟 | 从 GStreamer Connect 到 4K30 sHDRv2 的后续视频编码帧所花费的时间 | 0.442 |
| 4K30 sHDRv3 编码首个录制延迟 | 启动后首次从 GStreamer Connect 连接到 4K30 sHDRv3 的第一个视频编码帧所花费的时间 | 3.456 |
| 4K30 sHDRv3 编码后续记录延迟 | 从 GStreamer Connect 到 4K30 sHDRv3 的后续视频编码帧所花费的时间 | 0.416 |
| 4K30 G2G（屏幕到屏幕）预览 | 从传感器输出帧到在外部显示器上预览该帧所花费的时间 | 0.2 |

Note

摄像头延迟值越小越好。

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

- *class* tabincludedirective

    - - *class* tabincludedirective

    - 

## 启动时间

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

### 系统基准

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

| 基准 | 版本 | FP 1 的基准分数 | FP 2 的基准分数 | FP 2.5 的基准分数 | FP 3 的基准分数 |
| --- | --- | --- | --- | --- | --- |
| Geekbench ST | 6.1.0 | 950 | 977 | 1050 | 1059 |
| Geekbench MT | 6.1.0 | 2185 | 3883 | 2957 | 2964 |

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

Note

系统基准分数越高越好。

### 内存映射

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

| 内存分区 | 启动后 | 4K30 编码 | 4K30720p30 编码 | 4K30 编码 sHDRv2 | 4K30 编码 sHDRv3 |
| --- | --- | --- | --- | --- | --- |
| 总 RAM | 6144 | 6144 | 6144 | 6144 | 6144 |
| 非 Linux | 611 | 611 | 611 | 611 | 611 |
| 静态内核 | 151 | 151 | 151 | 151 | 151 |
| 应用 + 框架 | 449 | 1154 | 1190 | 1404 | 1536 |
| 总空闲内存 | 4933 | 4228 | 4192 | 3978 | 3846 |

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

Note

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

### 用例 KPI

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

| 用例 | 延迟定义 | FP 1 的延迟 | FP 2 的延迟 | FP 2.5 的延迟 | FP 3 的延迟 |
| --- | --- | --- | --- | --- | --- |
| 4K 首个拍照延迟 | 开机后从首次捕获图像到创建拍照的时间 | 0.396 | 0.391 | 0.396 | 0.392 |
| 4K 后续拍照延迟 | 从捕获图像到创建拍照（及后续拍照）的时间 | 0.368 | 0.367 | 0.367 | 0.366 |
| 4K30 编码首个录制延迟 | 启动后首次从 GStreamer Connect 连接到第一个视频编码帧的时间 | 3.127 | 3.189 | 3.13 | 3.135 |
| 4K30 编码后续录制延迟 | 从 GStreamer Connect 连接到后续视频编码帧所花费的时间 | 0.307 | 0.308 | 0.302 | 0.305 |
| 4K30 sHDRv2 编码首个录制延迟 | 启动后首次从 GStreamer Connect 连接到 4K30 sHDRv2 的第一个视频编码帧所花费的时间 | 3.799 | 3.521 | 3.423 | 3.496 |
| 4K30 sHDRv3 编码首个录制延迟 | 启动后首次从 GStreamer Connect 连接到 4K30 sHDRv3 的第一个视频编码帧所花费的时间 | 3.358 | 3.469 | 3.389 | 3.368 |
| 4K30 G2G（屏幕到屏幕）预览 | 从传感器输出帧到在外部显示器上预览该帧所花费的时间 | 0.2 | 0.2 | 0.2 | 0.2 |

Note

摄像头延迟值越小越好。

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

## 测量程序

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

### 启动时间测量

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

> 
> 
> 要测定启动时间，请执行以下操作：
> 
> 1. 在设备上电过程中收集串口日志，注意启动加载程序时间。要收集 Linux 主机上的串行日志，请执行以下操作：
> 
>     1. 在设备和 Linux 主机 PC 之间连接串行电缆。
>     2. 连接 UART 终端获取串口日志。请参阅[连接至 UART shell](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254/how_to.html#connect-to-a-uart-shell)，以便设置 UART 终端。
>     3. 关闭设备。
>     4. 打开设备。
>     5. 保存终端的串口日志。
> 2. 设备启动并稳定后，从设备收集以下日志：
> 
> 
> cat /var/log/syslog &gt; /var/lib/syslog.txt
> systemd-analyze time &gt; /var/lib/systemd-time.txt
> 
> 
> 
> 关于 systemd-analyze 工具的更多信息，请参阅[分析工具](https://docs.qualcomm.com/doc/80-70017-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 | 内核时间 | `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 |
> | 用户空间 | 系统日志 | 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 |
> | 记录初始化时间 | Syslog.txt | Spectra 摄像头驱动程序已初始化 | `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 – user space)` | 11.409 |

### 系统基准测试

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

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

1. 从上游 [https://www.geekbench.com/preview/](https://www.geekbench.com/preview/) 下载适用于 [Linux/ARM](https://cdn.geekbench.com/Geekbench-5.5.1-LinuxARMPreview.tar.gz) 架构的 Geekbench。

Note

Geekbench 6 for Linux/AArch64 是一个预览编译版本。预览编译版本需要主动联网并将基准结果自动上传到 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"` 计算得出。

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

要查看 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-70017-10SC/topic/46-performance-dashbaord.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-70017-10SC/topic/46-performance-dashbaord.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-70017-10SC/topic/46-performance-dashbaord.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-70017-10SC/topic/46-performance-dashbaord.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.722548:tracing\_mark\_write:B|CreateSession<br><br><br>276.722946:tracing\_mark\_write:B|CreateVideoTrack<br><br><br>276.731158:tracing\_mark\_write:B|StartSession<br><br><br>277.306283:tracing\_mark\_write:E|FirstVidFrame|1 | Connect to StartCamera = StartCamera − Connect<br><br><br>StartCamera to CreateSession = CreateSession − StartCamera<br><br><br>CreateSession to CreateVideoTrack = CreateVideoTrack − CreateSession<br><br><br>CreateVideoTrack to StartSession = StartSession − CreateVideoTrack<br><br><br>StartSession to FirstVidFrame = FirstVidFrame − StartSession<br><br><br>Record latency =  sum of above all | Connect to StartCamera  = 273.120 − 273.083 = 0.037<br><br><br>StartCamera to CreateSession = 276.722 - 273.120 = 3.602<br><br><br>CreateSession to CreateVideoTrack = 276.723 − 276.722 = 0.001<br><br><br>CreateVideoTrack to StartSession = 276.731 − 276.723 = 0.008<br><br><br>StartSession 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: Jan 22, 2025

[Previous Topic
故障排除](https://docs.qualcomm.com/bundle/publicresource/80-70017-10SC/topics/24-debug.md) [Next Topic
参考资料](https://docs.qualcomm.com/bundle/publicresource/80-70017-10SC/topics/56-references.md)