Skip to content

Thermal Status(整机热状态枚举) ​

作用域属性:[设备级 · 整机环境](Device Scope ) 当前状态:candidate,尚未观察到稳定的 0–3 当前值来源(见第 11 节,这是持续开放的门禁)

Owner恢复验收 · 2026-10-26: 系统热状态恢复待验,当前仍为candidate且无新增来源值。只有当前受支持字段真实出现并通过质量、来源和五轮复核,才可按无参考政策接受;字段缺失不能作为“无异常”。全指标恢复计划。

1. 定义与业务价值 ​

Thermal Status 的目标是反映系统级热状态枚举(概念上类似 Apple 公开 API ProcessInfo.thermalState 的 nominal/fair/serious/critical 四态),用于描述设备当前的系统热压力等级。它可以作为判断热管理是否可能影响性能的证据之一,但不等价于“CPU/GPU 已经发生具体降频”,也不是电池温度或 Energy cost 的固定阈值映射表。

2. metricID / scope / unit / source ​

字段值
metricIDios.device.thermal.status
scopedevice
unitenum-raw
sourcediagnostics.ioregistry
sourceKeyThermalStatus
definitionVersion thermal-status-enum.candidate.v2

取自当前 Registry 。注意:当前 source 是 diagnostics.ioregistry 的 ThermalStatus 字段,不是 Apple 公开的 ProcessInfo.thermalState API——两者概念上可能对应,但 Perfowl 尚未取得证据确认这个诊断接口字段与公开 API 语义完全一致,因此 definitionVersion 仍标注为 candidate。

3. iOS 系统原理 ​

iOS 通过系统级热状态向应用表达热压力等级,系统可能据此采取多种热管理措施。它是一个离散状态,不是连续温度读数;仅凭 Thermal State 本身也不能反推出具体 CPU/GPU 频率变化了多少。

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

通道:Lockdown 通道下的系统诊断服务 com.apple.mobile.diagnostics_relay,与 Battery Temperature 共用 20 秒固定采样节拍。

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

ThermalStatus:诊断接口上报的原始枚举值,当前候选解释为 0=Normal、1=Fair、2=Serious、3=Critical 四态,但这一具体数值含义尚未通过独立证据确认(见第 11 节)。

6. 精确公式 ​

text
value = ThermalStatus(原样透传原始枚举值,不做映射或换算)

不使用固定温度数字(如 35/38/41℃)反推或映射到本枚举——Thermal State 是系统自己给出的状态,不是 Perfowl 根据温度计算得到的派生值。

7. Clock / Window / Freshness ​

随 Device Condition 的 20 秒固定节拍产出。

8. Baseline / Reset / Discontinuity ​

无 counter 语义,无前值依赖。

9. Quality:valid / candidate / missing ​

字段存在且可解析 → candidate;字段缺失或来源不稳定 → missing(source-missing)。不用通知名称、电池温度或 Energy thermal cost 代替本字段推断当前状态。

10. 合法 0 的条件 ​

0(候选 Normal 态)是合法值。

G14A 设备源取证补充 · 2026-10-05 ​

同一设备 A 的一次受控测试保留了7条原生 Device Condition;7条均未包含 ThermalStatus,139行CSV该列保持 missing 。电池温度有值并不证明本指标有值。本次未改变公式/枚举,也未关闭稳定当前值来源与独立参考门。 受控测试与未关门清单。

11. 当前证据、校准与平台覆盖(如实披露,这是持续开放的核心门禁) ​

CORE-20(2026-09-05)的来源审计尚未能确认一个跨 iOS 版本稳定的 0–3 当前值来源。截至最新已整理的 devlog 时间线,site/devlog/index.md 的"未关门门禁"表格明确记录:

ThermalStatus 当前值:iOS 17/18 温度可观察,但未观察到稳定 0–3 ThermalStatus 来源;需取得稳定当前值源并跨系统验证,不用通知名/温度/Energy cost 推断。

如实结论:本指标当前不具备稳定可信的取值来源,产品状态为 Partial(部分可用,不是生产可用)。任何把电池温度或 Energy 相关成本分映射成 Thermal Status 的做法都不是当前团队采用的方法,也不应在使用本指标时这样推断。

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

能得到:在当前候选字段确实可解析且语义得到支持时,提供系统热压力等级的粗粒度参考。

不能得到:当前不能可靠地依赖本指标做出确定性判断——稳定当前值来源尚未确认;不能用电池温度、系统通知名称或 Energy thermal cost 反推 Thermal Status;长稳测试中性能下降与温升同窗出现,只能提示 thermal 影响的可能性,最终应结合本指标(在其证据可信之后)与系统级证据确认,而不是仅凭电池温度下结论。

13. 常见误区 ​

  • 把电池温度的固定摄氏度数字当作 Thermal State 判定依据;
  • 把 Energy thermal cost(如果存在类似字段)当作 Thermal Status 的替代品;
  • 把本指标已经写入 Registry 当作"已经生产可用"的证据——Registry 收录不等于证据充分。

14. Legacy / 历史实现 ​

thermal-status-enum.candidate.v2 是当前实现版本;此前版本的枚举语义候选映射同样未获得独立验证。

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

本页由 site/knowledge/metrics/energy-battery-thermal.md 拆分而来,历史沿革见 Energy/Battery/Thermal 技术演进与实验。

版本日期修订要点
v1(本页)2026-09-18从 energy-battery-thermal.md 拆出,成为 Thermal Status 独立 Canonical ;如实披露"尚未观察到稳定当前值来源"的持续开放门禁,删除固定温度映射表述。
验收恢复2026-10-26Owner恢复系统热状态验收;历史字段缺失事实保留,不视为全版本接口不存在;恢复计划。

| 证据更新(算法未改) | 2026-10-05 | G14A单轮来源及未校准边界,完整54项独立误差/正式五轮仍pending。 |

2026-10-05 G24–G27来源复核(算法未改) ​

G26保存Battery与窄IOPMrootDomain实际原生回复,两者均无ThermalStatus;这是设备A本次两个来源的事实,不是所有系统版本的接口不存在结论。Energy thermalstate.cost=0是进程cost字段,不是本metric整机枚举;保留missing而非nominal0。Apple公开thermalState定义可作为自有Fixture参考方法,非当前无侵入采集源。 全54/独立误差/正式五轮100%仍待验收。完整方法、失败阶段与资源。

Perfowl · Performance Observer