Skip to content

TotalCPU

TotalCPU 指整台设备的系统总 CPU 负载(所有核心合计),来源于 DVT sysmontap 的 SystemCPUUsage.CPU_TotalLoad。它与 APP CPU 互补:一个看整机,一个看目标进程。

指标标识

metricIDios.device.cpu.total;配套归一化候选 ios.device.cpu.total.normalized
显示名TotalCPU
scopedevice(整机)
unitpercent
底层系统服务com.apple.instruments.server.services.sysmontap (DTX 传输通道)
采集命令/实现pymobiledevice3.services.dvt.instruments.sysmontap.Sysmontap.create(provider, interval=500)
来源字段SystemCPUUsage.CPU_TotalLoadEnabledCPUs
定义版本system-gauge.v1;归一化 candidate 为 raw-dvt-divided-by-enabled-cpu-count.candidate.v2
当前可用性available · Experimental

底层采集与计算公式

1. 物理多核总负载 (Raw)

Sysmontap 周期性推送系统级负载向量 SystemCPUUsage: $$\text{TotalCPU (Raw)} = \text{SystemCPUUsage}.\text{CPU_TotalLoad}$$

  • 6 核设备满载时可达 600%。真机后台短采集中观测到 80–170% 属于该口径的正常结果。Perfowl 在采集层保持物理真实值,不裁剪到 0–100%。

2. 核心数归一化候选 (Normalized)

针对习惯 100% 满额视角的场景,Perfowl 提供独立的归一化候选字段: $$\text{TotalCPU (Normalized)} = \frac{\text{SystemCPUUsage}.\text{CPU_TotalLoad}}{\text{EnabledCPUs}}$$

  • 质量门禁:仅当回包中显式存在正整数 EnabledCPUs 时才执行除法;若系统未上报有效核心数,该值保持 missing,绝不猜测核心数或填补伪造值。

质量语义

  • warmup:首个系统回包没有前值基准,输出为空;
  • valid:后续正常回包;
  • missing:源缺失——为空,不转 0。

当前校准状态

Experimental · B-VAL 门禁开放。 与 PerfDog 展示口径的对齐需要:同一设备、相同场景(静止 / 滚动 / 动画 / 上传 / 下载)、相同时间窗下,对 raw 值、核数归一化候选值与 PerfDog 导出值做三方对照,三轮完成后才允许 UI 定版展示口径。官方资料中"iOS CPU 是否除以核数"本身存在口径冲突记录,Perfowl 以同场数据裁决,不用猜测。

版本历史

版本日期变更
v1.12026-09-06补全底层服务标识符、PMD3 采集调用命令与精确计算公式规范
v12026-09-04首次发布;含 raw / candidate 双轨语义与分核向量说明

来源批次:DATA-1 实施结果 · B 批次结果 · PerfDog 官方资料调研

Perfowl · Performance Observer