外观
Interrupt Wakeup Rate(中断唤醒速率)
当前正式结论 · 2026-10-19:中断唤醒率1Hz新a02完整5/5及最终分离审核通过(限定E4 candidate异常/覆盖/来源一次发表);每轮120新值/120槽,普通120/120/120/119/120、未评估0/0/0/1/0、严重/来源违规0。整体28/66,剩余38项;旧机4/5及a01的2/5保留不拼接。当前完成本指标提交/网站/通知闭环,磁盘尚未开始;物理精度、私有producer等价与正式分发仍未证明。下方旧进度段是历史。本批结果。
最新a02进度 · 2026-10-19(尚未验收):ARM190、OFF/ON、软件/真实性能、新诊断和实际59容量准入已核;a01在2/5后因执行器资源门失败停止,失败保留。修复验收执行器并另立a02后,前4轮各三复核完成,均120新值/120槽,普通120/120/120/119、第四轮1点未评估、严重/来源违规0;当前第5轮真实600秒冷却,4/5、整体27/66。下方旧阶段数字为历史,不补轮或拼接。当前a02方案与增量。
新机恢复增量 · 2026-10-18:ARM190内部开发签名单址安装和只读GUI已核;五旧run保全归位、四新参考资格及独立审核通过。最新实际62活动,仅余两准备槽位;OFF/ON、Apple payload-URL、真实性能/新诊断和最终容量仍待,新正式0轮。旧4/5保持为历史,整体27/66,本项尚未正式验收。新attempt方案与证据。
当前进度 · 2026-10-18:Owner统一默认每秒1点,内部189实际GUI发表1000ms/来源500ms;新1Hz诊断120/120核同,正式四完整轮各120新值/120完整槽,普通120/120/120/117、严重及来源违规0。第五轮测试指令通道失败并停止,仍4/5、未正式验收;整体27/66不变,不补旧点、不拼接补轮。下方旧500ms及待确认段落是历史。当前结果。
当前共享采集源(2026-10-07 G84):产品 SysmontapRawAdapter._make_stream 先用同一个 pymobiledevice3 原生 DeviceInfo 查询时钟与支持列,再用原生 Sysmontap 构造器建立完整14消费者固定依赖闭包(11进程列、3系统列);默认 intervalMs=500、ur=500 ms、sampleInterval=500000000 ns,保留CPU元数据与原生时钟。必需列缺失、非法类型或重复时明确失败,不以减少指标、补值或旧值续点降级。此为采集配置修复,不改变本页数值公式、scope、单位、质量/候选标签与独立误差门;完整54项与正式五轮仍待验,源码/安装验证不等于本指标数值校准。方案与验证。
作用域属性:[进程级 · 目标专属](Process Scope )
1. 定义与业务价值
Interrupt Wakeup Rate 基于 sysmontap 的 intWakeups 累计字段做差分,描述目标进程相关唤醒计数在单位时间内的变化速率。持续升高可以作为能效问题或高频唤醒行为的候选信号;在缺少独立字段语义证据时,本页不把每个计数进一步拆解成“硬件中断”“定时器”等具体来源。
2. metricID / scope / unit / source
| 字段 | 值 |
|---|---|
| metricID | ios.process.scheduler.interrupt_wakeup_rate |
| scope | process |
| unit | count-per-second |
| source | dvt.sysmontap |
| sourceKey | intWakeups |
| definitionVersion | counter-rate.source-clock.exact-counter.candidate.v3 |
取自当前 Registry 。
3. iOS 系统原理
sysmontap 上报 intWakeups 累加计数器,Perfowl 只对该 source-native 字段做差分速率计算。该字段可以作为进程唤醒活跃度的能效线索,但当前证据不足以把其每一次递增精确归类到某一种唤醒机制。
4. 系统服务 / 通信通道 / 采集命令与实现
通道:com.apple.instruments.server.services.sysmontap(DTX )。采集:pymobiledevice3 原生 Sysmontap(provider, process_attributes, system_attributes, interval_ms=intervalMs) 返回累加字段 intWakeups;速率推导同样实现于 MacApp/Sidecar/perfowl_collector_core/metric_engine.py::RawMetricEngine._counter_rate,与 Context Switch Rate 共用同一套差分与身份键逻辑,仅 key 参数不同。
5. 原始字段与字段语义
Processes[*].intWakeups:sysmontap 暴露的进程级累计唤醒计数。source epoch / reconnect 变化时重建的是 Perfowl 的差分基线。
6. 精确公式
text
identity = (target_pid, target_generation, source_epoch, reconnect_generation, adapter_id, "intWakeups")
rate = (current_intWakeups - previous_intWakeups) / elapsed_seconds公式与状态机细节见 Context Switch Rate 第 6~9 节,两者共享同一实现(_counter_rate)。
2026-10-03 R5算式补充:clock_ns=floor(EndMachAbsTime*numer/denom),rate=counter差分/设备clock_ns差分秒数。SysmontapRawAdapter在同一DVT provider准备时仅查询一次 DeviceInfo.mach_time_info() / machTimeInfo,保存原始返回值 [absoluteTicks,numer,denom,...] 于Raw的sysmontapMachTimeInfo(numer/denom取索引1/2,非硬编码);查询超时≤3 s。显式坏钟/缺钟为null/missing -clock,历史完全缺新增字段才走candidate-host-window。clock模式/比例纳入差分身份键,切换warmup;负哨兵source-sentinel;计数下降counter-reset;重复/倒退时钟invalid-window且不污染前进基线。合法0要求计数相同且有效正时差。不从来源差分推断物理硬件带宽。R5修复记录。
7. Clock / Window / Freshness
Clock domain:设备 Mach absolute ticks,经同一设备的实测timebase转换为纳秒。窗口:相邻设备采样端点,而非排队后的宿主到达间隔。
8. Baseline / Reset / Discontinuity
同 Context Switch Rate:首次观测 warmup;计数倒退(如目标进程重启)counter-reset;elapsed<=0 为 invalid-window。
9. Quality:valid / candidate / missing
字段缺失或无目标 PID → missing;否则按 warmup / counter-reset / invalid-window / candidate 状态机判定。
10. 合法 0 的条件
速率可以合法为 0(该窗口内目标进程确实没有被唤醒),需与 missing/warmup/counter-reset 区分。
11. 当前证据、校准与平台覆盖
依附于 CPU/线程联合采集会话获得真机数据,尚无以本指标为核心的独立 E4 专项批次;证据等级 E2/E4 混合。Apple 官方将后台异常高频唤醒视为能效问题的信号之一,但 Perfowl 当前未对"多少次/秒算异常"给出官方引用的固定阈值。
2026-10-04 · 自有Fixture参考可用性,不是已校准
Apple TASK_POWER_INFO公开task_interrupt_wakeups累计计数;Apple XNU rusage填充关联到ri_interrupt_wkups。这些文档不证明sysmontap intWakeups已经与其同义。默认关闭的自有Fixture原型只取自身task,保留返回码/结构长度/Mach读前后界/精确UInt64;不要求商店App集成,不改变本页产品公式和candidate状态。
读区间[a0,b0]/[a1,b1]成功、完整、计数单调且不交叠时,参考delta=c1−c0,设备timebase scale=numer/denom/1e9,速率区间为[delta/((b1−a0)*scale), delta/((a1−b0)*scale)]。不是名义1秒或插值真值;失败/短结构/坏时轴/倒退/超过2秒参考缺窗不给数,真0需有效正窗口。需新真机同身份/同设备clock/同窗口原生累计对照后才讨论字段同义及误差。
G9 E2功能/自身writer/arm64编译成立,但原绝对编码开销门未通过;原型有单独编译门、尚未安装/采新Session。该参考不等于中断机制分类、硬件能耗或所有54项可信。方案/实际结果。
12. 如何分析:能得到什么结论,不能得到什么结论
能得到:目标进程 intWakeups 速率趋势,可用于识别异常高频唤醒的候选场景以及做同版本回归对比。
不能得到:不能仅凭唤醒速率数值直接断言具体是哪个定时器或组件造成的,需要结合代码审查、Instruments Energy Log 等证据;不能把某个固定次数/秒直接当作 iOS 官方能效判定标准。
13. 常见误区
- 把某个固定唤醒频率(如 "> 100 次/秒")当作 Apple 官方能效红线,而不是团队自定义参考线;
- 忽视静置态与操作态下唤醒频率的正常差异,用同一套阈值不加区分地评判。
14. Legacy / 历史实现
counter-rate.source-clock.exact-counter.candidate.v3 是当前版本;counter-rate.source-clock.candidate.v2 仅为历史版本;旧 counter-rate.v1 使用宿主到达时差,旧Session不回写。
15. 版本历史与来源批次
本页由 site/knowledge/metrics/system-condition-metrics.md 拆分而来。
| 版本 | 日期 | 修订要点 |
|---|---|---|
| v1(本页) | 2026-09-18 | 从 system-condition-metrics.md 拆出,成为独立 Canonical。 |
| counter-rate.source-clock.candidate.v2 | 2026-10-03 | R5:设备源钟消除宿主队列压缩对速率分母的放大;旧host fallback显式标记,当前真机与校准边界参见R5。 |
| G9 reference prototype | 2026-10-04 | 公开self TASK_POWER_INFO候选参考与有界读区间;E2功能成立、效率门partial/E4未评估,产品口径不变。 |
2026-10-05 G11 精确累计数与质量边界
当前算法 counter-rate.source-clock.exact-counter.candidate.v3:原生UInt64累计值保存为精确整数,先相减,再把安全delta除以真实来源窗口秒数;不先转Double累计值。2^53以上累计值仍可有精确的小增量;计数下降先判counter-reset/置空。delta大于2^53−1时precision-loss/置空并以当前有效累计值更新下一基线。浮点来源仅有限非负、整数形态且≤2^53−1接受并转为等值int,非整数float为invalid-counter;较大浮点的低位未被取证,不恢复成整数;超UInt64整数precision-loss,负哨兵source-sentinel,bool/非数字/NaN/Inf缺值。真0仅在有效正窗口且真实累计值未变时成立。
Checkpoint保留JSON整数,不把大整数转Double;对不精确浮点/负/超界基线拒绝恢复,旧formulaContract不匹配则重建,不回写旧Session或补造缺窗。作用域、单位、设备Mach/历史host候选时钟及身份/重连规则未变。这是算术可信边界修复;独立E4误差与五轮100%仍待验证,未证为此前断续的根因。
| 版本 | 日期 | 变更与证据 |
|---|---|---|
| exact-counter.candidate.v3 | 2026-10-05 | 精确整数差分/重置与checkpoint,来源 G10/G11合同及结果,E2匹配验证;不升级独立校准支持 |
采集源版本更新 · 2026-10-07
G84将SDK全列factory改为固定共享11+3列、输出与采样节拍一致;原生服务/DTX通道不变,支持列仍由SDK查询,传输及指标转换为Perfowl适配层,SDK来源和自研计算分开。初missing、counter warmup/reset、VM近似质量等原边界保留,不外推其他设备/场景持续100%。来源批次。
来源发表与独立参考准备 · 2026-10-18(E2,尚未专项验收)
现象与方法:在原始两累计端点已形成速率后停止提供新来源,main与实际内部b187软件导入均能复现10秒缓存续点。这只证明发表新鲜性问题,不证明真机数值偏差。新政策用本项独立两端点、精确整数差分、身份/原生clock和容量6一次token;host TTL与窗口上限1.5秒,Raw保留。无新源应缺值,不用缓存、插值或把未知缺失变成0。历史无marker回放不回写,新政策尚待打包/专项E4。
参考限制:自有测试App的TASK_POWER_INFO候选参考使用精确UInt64累计及实际API读区间,默认关闭;失败/短结构记缺失,平台idle/timer bins不能合并当interrupt次数。公开API字段存在不证明Apple私有Sysmontap producer同义。0在有效正时差的等累计下合法,但全0场景不足以证明非零速率链路;预定新专项还要求正参考增量覆盖,不能仅凭平直0线宣称完成。
时钟与刷新分开:累计差分用设备Mach时间,来源新鲜性用host receipt,显示节拍是第三个概念;上一个上下文切换率1Hz决策只适用于该指标,本项仍先按500ms原门准备。参考按时间括端点,不按产品数字挑选相近值。原始窗口/合法0/重置/缺点/尾部需分开核对,避免来源复用让曲线假连续。方案与实际进度。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| source-once.v1 preparation | 2026-10-18 | 来源一次发表与默认OFF独立self-task参考,E2控制/专属E4待准入;不升级物理精度或其他场景覆盖 |
单次真机诊断与刷新边界 · 2026-10-18(不是专项验收)
内部188已同址覆盖,当前专属单诊断有231个正参考/产品的正常对照窗口,0严重偏离、来源/原始counter/消费者均核同;只说明该自有场景的异常偏离检查,不证明所有App或私有producer普遍等价。原500ms固定240机会下只有232个新值、112/120完整秒槽,诊断未达到覆盖门,正式五轮未启动。
可复用判断方法:把设备来源窗口、host到达、显示发表三种节拍分开统计,再计数每个窗口最多能被多少显示机会合法消费。本次源钟均值516.983ms;即使把窗前仍在1.5秒TTL内的全部来源都算作未消费,不同来源上界也只有234<所需238。因此重复缓存、插值或扩大FIFO不构成真实来源连续性修复。这个计数界只适用于本次留存输入与TTL,不是“所有设备每秒只能几次”的断言。
本项已提出每秒1个真实新值的合同选择,待Owner确认;前项上下文切换率的1Hz许可不自动扩展。接受新的节拍后仍需另立新机会表、诊断与五新轮,原失败保留。工具的签名/参考/资源资格、单诊断数值检查和最终专项验收分别记录。证据与下一步。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| source-once.v1 diagnostic | 2026-10-18 | 单诊断原件/数值/消费者核同,500ms覆盖FAIL;未提升本项验收状态,刷新范围待定 |
刷新节拍评估:避免隔行取点与相位择优 · 2026-10-18(E2)
表现与原因边界:当来源与发表时钟不整除时,直接从已有半秒结果隔行筛点可能依相位得到不同缺点数。本次旧输入两相位为119/120与113/120,这不是两个新真机测试;选择较好相位会掩盖风险。
复核方法与避免方式:从完整时间线起点逐条处理来源,分别用独立流式与扫描实现验证固定相位的最新未消费来源选择,TTL、来源唯一性、原始差分及参考包络保持不变;所有相位和未评估点全部披露,不裁去不利尾部。
限制:录制输入的host到达只证明收到,不证明实际消费者已经处理。反事实模拟有120个候选新来源也不代表产品1Hz已实现或通过;仍须Owner确认合同、真实消费者控制及新诊断/五新轮。本项仍未验收,原500ms覆盖失败保留。准备记录与边界。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| cadence-proposal feasibility | 2026-10-18 | 旧输入相位/一次发表的E2准备方法;未变更合同、未新采样、未提升指标状态 |
1Hz来源一次发表与验收边界 · 2026-10-18
实现机制:正常GUI产品节拍1000ms与底层source500ms分别配置;ready锚点下每秒只有一个发表机会。新策略process-interrupt-wakeup-source-once.1hz.v2使用容量6的有界最新未消费来源,两个原始累计先整数差分,再除设备原生时间窗。TTL与最长来源窗仍1.5秒;身份/epoch/重连/比例/计数重置重新warmup,无新值仍missing,不因新节拍延寿或复制。旧v1、无marker与旧半秒Session按原语义回放。
独立对照与限制:自有Lab默认关闭、显式启用的task_info(TASK_POWER_INFO)参考按设备端点时间括界,不按产品值选择参考;普通包络允许max(20次/s,15%),严重max(40次/s,30%),端点距离/内部gap≤30ms、包络不过宽才可比。第四轮3点unassessed保留,不将它们写成准确。该对照检查异常偏离,不证明私有Sysmontap producer完全等价、物理中断原因或能耗精度。
可复用坑点:普通配对与DTX可读不代表Apple配方通道可用;当前第五轮配方失败后,只读CoreDevice也超时。须按阶段单独记录Start、配方、数值、封口与原件核同,不能用已封口Session冒充完整负载轮,亦不能把通道失败定为数值bug或唯一线缆原因。失败原件保留,首失败停止。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| source-once.1hz.v2 partial | 2026-10-18 | Owner统一1秒;新诊断与四完整轮限定E4核同,第五轮指令通道失败,未专项验收;旧2Hz失败保持,方案与当前结果 |
恢复attempt的两层命名与容量 · 2026-10-18
表现/机制:主机输出目录唯一,不等于手机run名唯一;旧工具的固定名在后续attempt会被真实同名门拒绝,尚不能开始新测。避免/复现:显式新prefix、先实际保全核SHA与枚举容量收据、每轮仍实时验证,软件反控涵盖旧名冲突与少于五轮容量;不能修改旧结果或补一个第五轮。适用于当前自有Lab队列,不改变系统来源或产品数值口径。E2的19控制不证明手机通道恢复;重连后只读仍超时,Owner选择先换机,当前4/5/整体27/66保持。来源与边界。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| recovery-preflight partial | 2026-10-18 | 恢复队列显式namespace/容量准入,软件19控制;重连仍E3超时,未新采样、未验收,Owner先换机 |
新机参考资格与真实容量边界 · 2026-10-18
已验证事实:四新reference/staircase/cancel/recovery自有Lab资格完成,1320事件/1298参考独立核同,完整read/encode/append均值/P95≤1ms;取消场景最大6.513583ms保留,不能说每次≤1ms。此前一次资格在空闲前置停止、launch0;后续完整生命绑定证明是不同新生命,旧记录封口释放、无pending,另落决定后一次规范退出进入新资格,不替换指标失败样本。新生命启动原因未知。
方法与限制:DTX参数启动成功不证明Apple devicectl payload-URL通道成功,两者单独记门。原件保全归位后释放的是活动槽位,删除0、物理释放字节0;参考资格又占用四槽,须重新实际枚举,不能沿用归位后的58冒充当前容量。当前62活动只够两份准备配方,正式五轮仍需准备run保全归位、诊断和真实容量收据。参考资格属于新机自有Lab/通道证据,不新增指标验收,也不证明私有producer等价或物理精度。来源:新机attempt、归位证据。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| new-host reference partial | 2026-10-18 | 内部安装/只读GUI、五旧run保留归位与四新参考资格成立;E2独立审计/E3环境,未完成OFF/ON、Apple URL及新正式五轮 |
新机参考开销:固定热身与全部比较帧 · 2026-10-18
已验证范围:两份自有Lab空负载配方仅切参考开关,均36秒、100Hz调度;OFF原生参考0、ON完整3600条。每mode36个进程帧全部保留,固定前5秒4帧排除比较,之后32帧必须全部有效且procAge严格递增;缺目标、坏结构或坏值不能筛掉后缩小分母。两边首个无效热身帧也留在原件。独立全帧/导出复核后,本次CPU均值增量1.036333个百分点、footprint均值增量368,179B,符合既定≤2个百分点/≤20MiB准备门。均值/P95与最大值分开,完整read/encode/append最大7.220750ms,不能说每次≤1ms;该场景开销不等于真实中断准确性。
恢复方法:原件五件和唯一导出先流式源SHA、主机fsync后独立复读及导出语义核同,再同容器rename保留准备记录。四参考加两开销六份保留归位后,实际活动64→58、125导出原位、删除0/物理释放0;最终容量仍须诊断结束后实时再枚举。64是host准入上限,不是可以绕开的App写入器上限。DTX参数配方、Apple只读详情、payload-URL回执和完整诊断分别记录,不互相替代。
当前边界:自有Lab准备观察有真实设备数据,独立核对为E2;产品本项仍未验收、整体27/66,新正式0轮。新机软件基准使用真实531进程帧体,但主机包装与合成序列仅为性能测试,不伪称实际产品Raw。旧四轮不拼接新第五轮。来源:新机独占attempt与完整开销/归位结果。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| new-host overhead partial | 2026-10-18 | 全帧OFF/ON准备门及六份保留归位独立核同;最大值/热身与合成基准边界明确,未验收指标。 |
新机诊断与正式准入分别记录 · 2026-10-18
表现与判断:新机一份140秒诊断在真实ARM产品中得到固定120新值/120槽/120普通点,三种分离复核均核同,Apple payload-URL单次回执成立。这允许开始新五轮,并不把诊断算成正式轮,也不能用旧四轮拼接。运行器、原件保管、独立有理数与真实Swift消费分别记录;任何一层缺失都不能用其他层的成功代替。
可复用方法:诊断完成后重新枚举实际59活动、核五新名不存在、全部封口manifest/summary及源/host SHA,再将保全与归位的独立收据SHA绑定容量准入。准备记录归位释放活动槽位,未删除任何原件。正式每轮仍检查实时集合与来源、首失败停止;容量收据不是对后续手机状态永不变化的保证。工具/原件输入漂移须停止,不能把准入bool当作不可审计的许可。
范围与限制:诊断E4只限定自有Lab场景的candidate异常/覆盖/来源一次发表;原件/数学/消费者复核是E2。完整参考处理均值0.142982ms/P95 0.250125ms、最大14.305083ms,均值门不代表所有调用低于1ms。负载下AX树响应约0.13–0.15秒只证明该只读操作完整及时,不证明图形首帧/逐帧延迟。正式结果另以五轮完整收据判断,历史数字不回改。准入方案与原始证据入口。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| new-host diagnostic admission | 2026-10-18 | 新诊断与三复核通过、实际59容量准入;明确诊断/正式、AX/渲染、均值/最大及SHA绑定边界,指标尚待完整五轮。 |
产品来源覆盖与参考可评估性分别计数 · 2026-10-19
表现与证据:新机a02第4轮固定120机会中120个产品来源有效、120完整槽,但普通对照119、未评估1;该机会原始原因是reference-internal-gap。三项分离复核核同,不能把它说成产品缺新值,亦不能把来源有效等同数值已评估。该轮窗外还有11个未评估点,均保留,不说成普通点;可评估点中严重偏离为0不证明未评估点精度。
方法与避免:先用产品原始累计端点、身份及一次消费核来源,再独立检查self-task参考的读区间/邻近性/内部gap(本合同≤30ms)和包络宽度。任一参考质量门不成立则保持unassessed;固定分母、普通门和严重尾段审计原样执行,不删除该点、补采或插值。新a02仍须完成五轮和最终分离审核;参考gap产生机制未定位,不能直接归因为产品或唯一主机调度原因。
适用于当前受控Lab candidate对照,不证明私有producer等价或所有设备的精度。E4单轮观察+E2分离复核,来源:a02执行记录。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| reference-quality separation | 2026-10-19 | 产品覆盖与参考可评估性分别计数,保留固定机会及窗外未评估点;同上a02记录,未提前宣布五轮通过。 |
正式五轮与分离审核 · 2026-10-19
本项在设备A/目标App A的140秒受控负载下,五新轮来源一次发表、固定机会覆盖及候选异常偏离门通过。每轮120新值/120完整槽;普通120/120/120/119/120,未评估0/0/0/1/0,不将未知改0或准确。完整窗外/热身未评估点和最大参考成本见本批结果,严重0不外推未评估点或物理精度。旧失败保持,不重测历史指标;交付与指标结论分别记录。
| 版本 | 日期 | 修订与证据 |
|---|---|---|
| source-once.1hz.v2 ARM formal | 2026-10-19 | 新a02完整5/5及分离审核限定E4通过;1Hz/原始精确公式/candidate不变,来源结果。 |