Skip to content

CPU Core Usage(分核 CPU 使用率) ​

最新逐核CPU · 2026-10-18(candidate限定E4):五个新生命/Session固定240机会/120槽,来源数组顺序/一次发表、连续性及无标签分布异常门通过;不证明物理核心对应。留存17/66(启动12/12、新非启动5/54),内部b185已覆盖,下一仅上下文切换率。记录。

来源与索引排查 · 2026-10-18(E2,尚未专项验收) ​

主线及实际b184纯软件反例均复现:旧向量无新源续点10秒,负值/超100或缺核可作为candidate输出。不能把图形连续直接等同新数据;应同时检查原始向量长度/每条量程、source窗口与一次发表标志。修复方案采用同一已接受Raw记录投影和独立marker,保持原数组下标;每物理核心身份仍未证。独立参考拟验无标签分布而非强行按两个API下标配对,缺参考记unassessed、不补0。以上是软件诊断与拟实施契约,未增加验收数。单项合同。

当前共享采集源(2026-10-07 G84):产品 SysmontapRawAdapter._make_stream 先用同一个 pymobiledevice3 原生 DeviceInfo 查询时钟与支持列,再用原生 Sysmontap 构造器建立完整14消费者固定依赖闭包(11进程列、3系统列);默认 intervalMs=500、ur=500 ms、sampleInterval=500000000 ns,保留CPU元数据与原生时钟。必需列缺失、非法类型或重复时明确失败,不以减少指标、补值或旧值续点降级。此为采集配置修复,不改变本页数值公式、scope、单位、质量/候选标签与独立误差门;完整54项与正式五轮仍待验,源码/安装验证不等于本指标数值校准。方案与验证。

作用域属性:[设备级 · 整机 Per-CPU 条目](Device Scope )

1. 定义与业务价值 ​

CPU Core Usage 映射 sysmontap PerCPUUsage[*] 数组,提供每个 Per-CPU 条目的瞬时使用率,用于观察整机 CPU 负载在这些条目之间的分布形态。当前证据可以支持“分核使用率”这一层,但不能把数组下标直接解释成已确认的物理 P-Core / E-Core 身份。

2. metricID / scope / unit / source ​

字段值
metricIDios.device.cpu.core_usage
scopedevice(整机,不是目标 App 专属)
unitpercent(单核量程 0%~100%)
sourcedvt.sysmontap
sourceKeyPerCPUUsage[*].CPU_TotalLoad

取自当前 Registry 。每个条目的值携带 dimensions={"core": index};这里的 index 只是 PerCPUUsage 数组下标,不是经过独立证据确认的物理核心编号或 P/E 类型标识。

3. iOS 系统原理 ​

现代 Apple Silicon 采用性能核(P-Core)与能效核(E-Core)组成的异构多核架构。PerCPUUsage 数组反映的是整机在该采样窗口内各 Per-CPU 条目的使用率,包含系统内核、其他进程和目标 App 的共同贡献,不做单进程过滤。

4. 系统服务 / 通信通道 / 采集命令与实现 ​

通道:com.apple.instruments.server.services.sysmontap(DTX )。采集:pymobiledevice3 原生 Sysmontap(provider, process_attributes, system_attributes, interval_ms=intervalMs) 返回的系统级 payload 中 PerCPUUsage 数组;解析实现于 MacApp/Sidecar/perfowl_collector_core/metric_engine.py::RawMetricEngine._system_metrics,按数组下标遍历生成每核指标。

5. 原始字段与字段语义 ​

PerCPUUsage[i].CPU_TotalLoad:第 i 个 Per-CPU 条目在该采样窗口内的使用率,来自系统 SystemCPUUsage 结构。

6. 精确公式 ​

text
coreUsage[i] = PerCPUUsage[i].CPU_TotalLoad(直接映射,无二次计算)

7. Clock / Window / Freshness ​

Gauge 类型,直接映射同次Raw已接受的新原生窗口(约500ms),不滑动聚合/重复发表;新源未到则缺值。host新鲜不代表设备真实读取时点已证明。

8. Baseline / Reset / Discontinuity ​

无前值依赖,每次采样独立读取。

9. Quality:valid / candidate / missing ​

当前source-once.v1:完整同源新向量、合法拓扑与时窗、每项非bool有限0..100且总和同Raw,才为candidate;任一项不满足或无新源,整向量missing,不补0或删除坏核后移动索引。无新marker历史回放保留旧规则,不追认验收。

10. 合法 0 的条件 ​

单个 Per-CPU 条目的使用率为 0% 是合法状态(该条目该窗口确实空闲),需与 missing 区分。

11. 当前证据、校准与平台覆盖 ​

2026-10-18独立逐核CPU五新生命/Session通过来源顺序/一次发表、连续性与无标签分布异常的限定E4门;不是物理核心身份或精度校准。旧依附CPU会话的观察不计本次分母,见本页最新记录。

12. 如何分析:能得到什么结论,不能得到什么结论 ​

能得到:整机层面 CPU 使用率在 PerCPUUsage 条目之间的分布形态——例如某个条目持续接近 100% 而其他条目较低,提示存在集中负载,但不能仅凭数组下标确认具体物理核心类型或归因到目标 App。

不能得到:

  • 不能证明某个高使用率 Per-CPU 条目来自目标 App 的某个线程——本指标是 device scope,不做进程过滤,任何进程(含系统进程)都可能贡献该条目负载;
  • 不能仅凭"所有核心剧烈抖动"就断定"线程池配置过大",需要结合目标进程的 Thread Count、Context Switch Rate 与 APP CPU 交叉验证;
  • 数组下标顺序不是当前证据确认的物理核心身份,不应把 "Core 0" 直接等同于某个具体 P-Core/E-Core;如需做核心类型归因,必须先建立独立映射证据。

13. 常见误区 ​

  • 把 device scope 的某个 Per-CPU 条目接近 100% 直接当作“目标 App 主任务未做并发拆分”的确诊——需要结合 APP CPU 与线程证据;
  • 把核心下标顺序当作 P-Core/E-Core 类型的可靠标识。

14. Legacy / 历史实现 ​

无历史候选版本记录,实现自初始版本起即为直读数组映射。

15. 版本历史与来源批次 ​

版本日期修订要点
v4(当前)2026-09-18移除"临床诊断"式确定性因果表述与 ✅ 生产可用 图标代替证据边界的写法;明确 device scope 边界与核心下标不等于物理核心身份的限制;补充精确代码引用。
v32026-09-15全面转向性能测试实战视角:补充大小核架构分析、单核跑死诊断与 QA 提单基线。
v22026-09-08规范多核负载向量与采样格式。
v12026-09-04首次发布分核 CPU 指标定义。

采集源版本更新 · 2026-10-07 ​

G84将SDK全列factory改为固定共享11+3列、输出与采样节拍一致;原生服务/DTX通道不变,支持列仍由SDK查询,传输及指标转换为Perfowl适配层,SDK来源和自研计算分开。初missing 、counter warmup /reset、VM近似质量等原边界保留,不外推其他设备/场景持续100%。来源批次。

单次来源、整向量缺失与无标签对照 · 2026-10-18 ​

问题与判断:单个合法源后无新源仍连续10秒,或一核−1/101/标量/少核仍candidate,说明线连续不等于源连续。核Raw原向量长度/每值/拓扑、原生窗口及一次发表,再逐维对账wire、实际Swift数组、Codable/CSV/JSONL/派生。产品新marker为sysmontapDevicePerCoreCPUPublicationPolicy=device-per-core-cpu-source-once.v1,来源仍原生pymobiledevice3 Sysmontap/DTX;自研adapter加marker、Raw来源跟踪器投影同次完整向量,不增连接/服务。

CPUCount严格整型1..64、Enabled严格整型1..CPUCount;coreUsage[i]=PerCPUUsage[i].CPU_TotalLoad,无单位变换/取整/二次聚合;每项非bool有限0..100,向量和与Raw容差1e−6×CPUCount。任一坏或缺新源/marker/合法时窗即整向量missing,不截断/缓存/重排。合法0保留,初始化0仍warmup;核数未知仅dimensionless missing占位,不凭空创建core索引。无新marker历史回放不变,见过marker后缺失不得退回缓存。

索引难点:两个API都返回N条,不代表同下标是同一物理核心。来源顺序的直接映射由原始字节逐维核同;独立参考则用host_processor_info整数counter同窗包络的完整一一匹配+独立总包络,比较无标签分布而非猜P/E对应。端点/内部gap≤30ms、每条参考宽≤18点才评估;普通外扩max(3点,15%)、严重max(6点,30%),缺参考unassessed。增广路与排序/最早区间的第二算法在4000固定随机例一致;禁止重复使用同一参考解释多个来源核。匹配成功不建立固定身份关系,物理核映射与精度仍未证。

当前证据:固定五新生命/Session、低中负载140秒,每轮15..135秒240机会/120槽,源≥238/完整≥119/普通≥228/gap≤1.5秒,严重含尾部与来源拒绝/违规0;五轮均通过。来源133文件2342方法、480适用归档、27来源及23独立控制、真实36Core Swift对1461正式sample和逐维导出核同。均值/P95完整处理≤1ms,固定64维O(N)、队列6,不无限缓冲。持续高负载、物理精度/私有API等价、真实设备读点、跨设备泛化和整GUI主线重建未验;内部b185、公证Owner暂缓、GPL/正式分发门另列。

版本日期修订与来源
per-core-source-once.v12026-10-18同Raw新完整向量/整组missing/原序;五新轮限定E4,独立参考只证明无标签分布无明显异常。记录 · 快照

Perfowl · Performance Observer