您可以在 Qualcomm® Linux® 参考设备上访问启动时间、系统基准测试、内存映射和产品细分关键性能指标(KPI)的性能仪表板。以下小节介绍 QCS6490、QCS5430 和 Qualcomm Dragonwing™ IQ-615 的性能仪表板和测量流程。
有关 Qualcomm Dragonwing™ IQ-9075 和 Qualcomm Dragonwing™ IQ-8275 的性能仪表板和测量流程,请参见相应的附录。以下指南提供补充信息,且这些指南面向具有授权访问权限的许可用户:
启动时间
以下启动时间 KPI 表示系统在不同阶段的就绪程度:
Init/systemd process:从上电到系统第一个用户空间进程(PID 1,通常为 systemd)开始执行所经过的时间。这包括固件、加载程序和内核+InitramFS 所用的时间。
Camera driver init finish:表示摄像头硬件已完成初始化并可供使用。
Sysinit.target:从上电到达到 sysinit.target 的时间——即所有基本系统初始化服务(文件系统已挂载、内核模块已加载、基本硬件已配置)完成的时间点。
下表列出了在 QCS6490(刷写了 UEFI 固件)上测得的启动时间(单位为秒)。配置 1(qcom-multimedia-image)
配置 1 表示上游软件包集,其中包括作为标准 Qualcomm 多媒体镜像一部分提供的开源和基线多媒体组件。配置 2(qcom-multimedia-proprietary-image)
配置 2 表示下游软件包集,其中包括叠加在上游镜像之上的专有多媒体组件、增强功能和供应商特定的附加内容。有关测量流程的信息,请参见测量启动时间。系统基准测试
本节概述如何使用一组标准基准测试来测量系统性能。下表列出了 QCS6490 上的 CPU、内存、存储和图形基准测试得分。GeekbenchCoreMarkTiotestGLmark2Sysbench有关测量流程的信息,请参见测量系统基准测试。系统基准测试得分越高越好,但 CPU 总时间、线程总时间和互斥锁总时间除外,这些值越低越好。
内存映射
下表列出了每个分区(例如非 Linux、内核静态和应用)的内存消耗(单位为 MB)。它还列出了设备启动后以及在诸如 4k 分辨率 30 fps 编码等用例期间系统可用的总空闲内存。有关测量流程的信息,请参见测量内存映射。用例 KPI
下表列出了各种 QCS6490 摄像头用例的摄像头延迟测量数据(单位为秒):有关测量流程的信息,请参见测量摄像头录制/快照延迟。启动时间
以下启动时间 KPI 表示系统在不同阶段的就绪程度:
Init/systemd process:从上电到系统第一个用户空间进程(PID 1,通常为 systemd)开始执行所经过的时间。这包括固件、加载程序和内核+InitramFS 所用的时间。
Sysinit.target:从上电到达到 sysinit.target 的时间——即所有基本系统初始化服务(文件系统已挂载、内核模块已加载、基本硬件已配置)完成的时间点。
下表列出了在 QCS5430(刷写了 UEFI 固件)上测得的启动时间(单位为秒)。配置 1(qcom-multimedia-image)
配置 1 表示上游软件包集,其中包括作为标准 Qualcomm 多媒体镜像一部分提供的开源和基线多媒体组件。配置 2(qcom-multimedia-proprietary-image)
配置 2 表示下游软件包集,其中包括叠加在上游镜像之上的专有多媒体组件、增强功能和供应商特定的附加内容。有关测量流程的信息,请参见测量启动时间。系统基准测试
本节概述如何使用一组标准基准测试来测量系统性能。下表列出了 QCS5430 上的 CPU、内存、存储和图形基准测试得分。Geekbench有关测量流程的信息,请参见测量系统基准测试。系统基准测试得分越高越好,但 CPU 总时间、线程总时间和互斥锁总时间除外,这些值越低越好。
内存映射
下表列出了每个分区(例如非 Linux、内核静态和应用)的内存消耗(单位为 MB)。它还列出了设备启动后以及在诸如 4k 分辨率 30 fps 编码等用例期间系统可用的总空闲内存。有关测量流程的信息,请参见测量内存映射。用例 KPI
各种 QCS5430 摄像头用例的摄像头延迟测量数据 KPI 将在未来的版本中提供。有关测量流程的信息,请参见测量摄像头录制/快照延迟。启动时间
以下启动时间 KPI 表示系统在不同阶段的就绪程度:
Init/systemd process:从上电到系统第一个用户空间进程(PID 1,通常为 systemd)开始执行所经过的时间。这包括固件、加载程序和内核+InitramFS 所用的时间。
Camera driver init finish:表示摄像头硬件已完成初始化并可供使用。
Sysinit.target:从上电到达到 sysinit.target 的时间——即所有基本系统初始化服务(文件系统已挂载、内核模块已加载、基本硬件已配置)完成的时间点。
下表列出了在 Dragonwing IQ-615(刷写了 UEFI 固件)上测得的启动时间(单位为秒)。配置 1(qcom-multimedia-image)
配置 1 表示上游软件包集,其中包括作为标准 Qualcomm 多媒体镜像一部分提供的开源和基线多媒体组件。配置 2(qcom-multimedia-proprietary-image)
配置 2 表示下游软件包集,其中包括叠加在上游镜像之上的专有多媒体组件、增强功能和供应商特定的附加内容。有关测量流程的信息,请参见测量启动时间。系统基准测试
本节概述如何使用一组标准基准测试来测量系统性能。下表列出了 Dragonwing IQ-615 上的 CPU、内存、存储和图形基准测试得分。GeekbenchCoreMarkTiotestSysbench有关测量流程的信息,请参见测量系统基准测试。系统基准测试得分越高越好,但 CPU 总时间、线程总时间和互斥锁总时间除外,这些值越低越好。
内存映射
下表列出了每个分区(例如非 Linux、内核静态和应用)的内存消耗(单位为 MB)。它还列出了设备启动后以及在诸如 4k 分辨率 30 fps 编码等用例期间系统可用的总空闲内存。有关测量流程的信息,请参见测量内存映射。用例 KPI
下表列出了各种 Dragonwing IQ-615 摄像头用例的摄像头延迟测量数据(单位为秒):有关测量流程的信息,请参见测量摄像头录制/快照延迟。
测量流程
测量流程包括启动时间、系统基准测试、录制延迟和快照延迟等 KPI。
测量启动时间
要测量启动时间,请执行以下操作:
-
刷写构建。请参见刷写软件镜像以启动设备。
-
设备启动后,将其重启。
-
使用串口线连接到设备控制台。
a. 在设备与 Linux 主机 PC 之间连接串口线。
b. 使用凭据(用户:root,密码:oelinux123)连接到 UART 终端。请参见连接到 UART shell。
c. 将设备断电再上电。
启动时间 KPI 可以通过在设备启动并稳定后捕获 systemd-analyze 和 journalctl 日志来测量。
预期输出:Startup finished in 1.697s (firmware) + 402ms (loader) + 1.693s (kernel) + 15.887s (userspace) = 19.681s
预期输出:[ 4.220245] iq-615-evk kernel: CAM_INFO: CAM-UTIL: cam_main_probe: 336: Spectra camera driver initialized rc : 0
预期输出:[ 4.757850] iq-615-evk systemd[1]: Reached target System Initialization.
固件和加载程序时间取自 systemd-analyze 输出(1.697s + 0.402s)。journalctl 中的内核时间戳是相对于内核启动的,因此需要加上固件 + 加载程序时间,才能得到从上电开始的绝对启动时间。
测量系统基准测试
这些基准测试测量子系统的性能,例如 CPU 吞吐量、内存带宽、内存延迟和 I/O 性能。
前提条件
在运行任何基准测试之前,请完成以下设置:
设备上默认未启用 ADB。要在运行这些基准测试之前启用 ADB,请参见启用 ADB。
- 刷写构建。
- 运行以下命令获取 root 访问权限:
- 在设备上打开 shell:
- 导航到二进制文件推送到的目录:
- 为二进制文件设置执行权限:
Geekbench
Geekbench 是一款用于根据既定基准测量系统性能的工具。
要使用 Geekbench 测量系统性能,请执行以下操作:
- 要从上游的 Linux/ARM 部分下载 Geekbench,请参见 Geekbench。
适用于 Linux/AArch64 的 Geekbench 6 是预览版构建。Geekbench 版本可能会变化,本节中提到的步骤仅供参考。预览版构建需要活跃的互联网连接,并会自动将基准测试结果上传到 Geekbench 浏览器。
- 要使用 Geekbench 测量 CPU 基准,请执行以下操作:
- 解压 Geekbench 文件,并使用 adb 工具从主机推送。以下是示例命令:
- 要运行 Geekbench,请在设备上运行以下命令:
Sysbench
Sysbench 测量 CPU、内存、线程、互斥锁和文件 I/O 性能。
要运行 Sysbench 测试,请在设备上运行以下命令:
使用 taskset 运行:
Tiotest
Tiotest 测量存储 I/O 性能。
要运行 Tiotest,请执行以下操作:
- 运行顺序 I/O 测试:
- 运行随机 I/O 测试:
- 在迭代之间清除缓存:
CoreMark
CoreMark 测量嵌入式处理器性能。
要运行 CoreMark,请在设备上运行以下命令:
以下是示例输出:
Glmark2
Glmark2 测量 GPU 渲染和图形性能。
要运行 Glmark2,请执行以下操作:
- 配置 Wayland 运行时环境:
- 以默认分辨率运行离屏测试:
- 以 1920x1080 分辨率运行离屏测试:
- 以默认分辨率运行在屏测试:
- 以 1920x1080 分辨率运行在屏测试:
测量内存映射
内存映射提供有关如何为不同进程分配内存的信息。内存映射测量可让您监控被映射的进程并排查任何内存问题。
要计算内存映射,请先启动设备并使其稳定。然后,运行以下命令从设备收集日志:
非 Linux 内存
使用以下公式计算非 Linux 内存:
非 Linux = 总 RAM 大小 − Linux 总量
运行以下命令计算总 RAM 大小:
要从 iomem 计算 Linux 内存总量,请运行以下命令:
内核静态
使用以下公式计算内核静态内存:
内核静态 = Linux 总量 − MemTotal
应用 + 框架内存计算
使用以下公式计算应用和框架使用的内存:
应用 + 框架 = MemTotal − 空闲内存
空闲内存计算
使用以下公式计算空闲内存:
空闲内存 = MemFree + (Cached − shmem) + buffer + ION 缓存
要获取空闲内存详情,请运行以下命令:
要检查 vmstat 日志中的 ION 缓存,请运行以下命令:
测量摄像头录制/快照延迟
本主题介绍摄像头录制/快照延迟测量流程。
每次重启后,要完成前提条件,请在设备上运行以下命令:
首次录制延迟
要捕获日志,请按以下步骤操作:
- 启动设备并等待其稳定。
- 在一个 shell 中运行以下命令:
- 在另一个 shell 中运行用例。
- 停止跟踪日志。
- 参见下面的参考表来测量录制延迟。
首次快照延迟
- 启动设备。
- 设备稳定后,在一个 shell 中运行以下命令:
- 在另一个 shell 中运行用例。
- 停止跟踪日志。
- 参见下面的参考表来测量快照延迟。
测量参考表