
今天,我的 Mac(运行最新的 macOS 27.0 beta8)开始变得迟钝,打开活动监视器一查,一个名叫 dasd 的系统进程死死吃满了 90%~120% 的单核 CPU。我搜索了一下,没有找到合适的答案。使用 Google antigravity 一路追踪,结果抓到了一个令人哭笑不得的**“苹果工程师写出跨时区死循环”**的大瓜。

不想读太多的直接用这行命令:
defaults write com.apple.appstored ArcadePayoutResetDate \
-date "$(date -v+3d -u +"%Y-%m-%dT%H:%M:%SZ")" && \
killall appstoreagent
以下是 google antigravity 的解决过程
结论与当前状态 (BLUF)
dasd 持续占用 90%~99% CPU 并非正常的系统开机维护任务,而是 appstoreagent(App Store 后台服务)陷入了极高频的任务调度死循环。
该问题已经定位并已完成修复,dasd 的 CPU 占用已从 98.1% 降至 0.0%,系统恢复正常,无需重启电脑。
根本原因分析
通过抓取系统统一日志(Unified Logging System)与进程调用链路,发现了确凿的死循环证据:
- 死循环任务:
com.apple.appstored.ArcadeResetPO(Apple Arcade 收益指标重置任务)。 - 逻辑缺陷:
- 当前时间为下午,但
com.apple.appstored偏好设置中的ArcadePayoutResetDate被固定在今天凌晨:2026-09-06 00:00:00 +0800(过去的时间)。 appstoreagent执行完重置后,未将其递增到下一个周期(次日),而是继续使用已经过期的2026-09-06 00:00:00作为新执行时间重新注册。dasd(Duet Activity Scheduler)收到调度请求后,发现预定时间早于当前系统时间,判定为超时,立刻下发调度(Running immediately on submission)。- 结果:每秒触发超过 400 次调度与进程通信,导致
dasd持续跑满单核 CPU。
- 当前时间为下午,但
现场日志证据
appstoreagent: [ArcadePayoutReset] Payout metrics reset with current payout reset time: 2026-09-06 00:00:00+0800
appstoreagent: [ArcadePayoutReset] Reset with reason: Rescheduling
appstoreagent: [ArcadePayoutReset] Using new date: 2026-09-06 00:00:00+0800 with reason: Rescheduling
appstoreagent: [ArcadePayoutReset] Activity not scheduled; submitting request
dasd: SUBMITTING: 501:com.apple.appstored.ArcadeResetPO
dasd: Running immediately on submission
dasd: REQUESTING START: 501:com.apple.appstored.ArcadeResetPO
采取的解决措施与验证
已通过将偏好项中的调度时间推进至次日,并平滑重启 appstoreagent 打破该死循环:
- 执行命令:
defaults write com.apple.appstored ArcadePayoutResetDate -date "2026-09-06T16:00:00Z" killall appstoreagent - 验证结果:
top/ps监测确认:dasd(PID 404)CPU 占用立即降至 0.0%。appstoreagent重新启动后正常挂起,不再以 400+ 次/秒的频率刷屏日志。
经过 google antigravity 一顿操作,CPU 占用下来了。

