mac 休眠时崩溃的分析与解决 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bokix
V2EX    macOS

mac 休眠时崩溃的分析与解决

  •  
  •   bokix 80 天前 1176 次点击
    这是一个创建于 80 天前的主题,其中的信息可能已经有所发展或是发生改变。
    起因:
    头一天下班的时候,合盖走人,第二天早上一来,打开电脑,发现 mac 已经自动重启了。频率不是特别高,偶尔会这样。

    分析:
    查看 console 中的崩溃日志,扔给 chatgpt ,分析说是唤醒的时候,某个硬件无法唤醒,一开始是日志中频繁出现 WMAudioPlugin ,所以重点怀疑是这个插件导致,
    但是也没有搜出来这是个什么插件,后来在 gpt 的建议下,删除了这个插件,目录主要是在/Library/Audio/Plug-Ins/HAL/ 和/Library/Extensions/, (
    可以通过 sudo find /Library /System/Library /Users -iname "*WMAudioPlugn*" 来看看哪些目录有)。

    删除后没几天,一个周末没开电脑,周一过来又发现崩溃记录,这次发现崩溃是发生在周 6 凌晨,可是一整个周末都没开机啊,电脑都是合上的,为什么凌晨电脑会唤醒呢?这次就把重点
    放在了电脑为什么会唤醒上,因为之前很早的时候就已经关闭了电源选项中的 power nap 和网络唤醒功能,这次使用命令 pmset -g sched 查看唤醒计划,还真是有一条计划任务:
    com.apple.alarm.user-invisible-com.apple.osanalytics.hardhighengagementtimer , 还是个用户不可见的计划,说是什么用户行为分析与收集,我去,这还能行!
    果断删除,可是发现用什么命令都无法删除这个计划,要不就是删除后重启就自动又生成了,最后终于找到删除方法:sudo pmset schedule cancelall 。

    结论:
    1.先用 pmset -g sched 查看唤醒计划
    2.用 sudo pmset schedule cancelall 取消所有唤醒计划
    3.建议关闭电源选项中的 power nap 、网络唤醒等功能;建议关闭“因私与安全性”中的“分析与改进”中的所有选项;这些东西美其名曰说是帮你同步日历什么的,其实都是在分析用户行为
    谁知道有没有偷偷搜集用户信息,之前不是有报道说有些手机晚上会偷录用户信息什么的,我现在绝对相信是有这么回事的,你从这名字上就能看到有多邪恶:user-invisible 用户不可见
    你要分析什么数据你让我知道啊,不管是进程还是日志,搞个用户不可见的任务在这偷偷分析。

    另外,具体是什么硬件在唤醒的时候没有响应,目前尚无结论,我电脑目前只接了一个鼠标,其他没有外设了,也不排除是系统 bug 导致,gpt 建议是系统重启后如果立即休眠,有可能导致电源管理出 bug 。

    附:
    我的 mac 型号:2019 intel i7,16-inch ,32G ,os 15.5
    3 条回复
    LAMoon
        1
    LAMoon  
       80 天前
    我之前的 MacBook 是角度传感器坏了,睡眠之后电脑检测不到屏幕的开合状态,就会死机重启
    bokix
        2
    bokix  
    OP
       78 天前
    还没三天呢,这又给加回来了!用 pmset -g sched 查看,反而多了一条计划:

    Scheduled power events:
    [0] wake at 07/23/2025 15:47:33 by 'com.apple.alarm.user-invisible-com.apple.calaccessd.travelEngine.periodicRefreshTimer'
    [1] wake at 07/24/2025 07:53:01 by 'com.apple.alarm.user-invisible-com.apple.osanalytics.hardhighengagementtimer'

    一个是:日历出发时间预测,一个是:系统使用分析(行为预测)

    那就先取消,然后彻底禁用服务:
    sudo pmset schedule cancelall
    sudo launchctl disable system/com.apple.osanalyticsd
    sudo launchctl disable system/com.apple.calaccessd

    过两天再观察
    bokix
        3
    bokix  
    OP
       23 天前
    这已经多少天了?来记录一下情况吧,自从上次以来,重启问题再也没有出现过,看来应该是彻底解决了,以下是完整解决办法:
    1.写一个 clear_pmset_schedule.command 脚本,里面其实主要就是:sudo /usr/bin/pmset schedule cancelall >> ~/pmset_clear.log 2>&1 ,完整脚本如下:
    #!/bin/bash

    # 自动清除 macOS 中所有计划唤醒任务
    echo "Clearing scheduled power events at $(date)" >> ~/pmset_clear.log

    # 先打印当前的计划任务到日志中
    echo "Current scheduled power events:" >> ~/pmset_clear.log
    /usr/bin/pmset -g sched >> ~/pmset_clear.log 2>&1

    # 清除所有计划任务
    echo "start to cancel events:" >> ~/pmset_clear.log
    sudo /usr/bin/pmset schedule cancelall >> ~/pmset_clear.log 2>&1
    echo "after cancel, system events:" >> ~/pmset_clear.log
    /usr/bin/pmset -g sched >> ~/pmset_clear.log 2>&1

    echo "-------------------over---------------------" >> ~/pmset_clear.log

    2.但是这样是不够的,因为命令中有 sudo ,系统自动运行的时候,是无法交互式输入密码的,所以把 pmset 命令加入到 sudo 免密指令中, 运行:sudo visudo, 在最后增加以下两行,分别是:用户, 指令等
    bokix ALL=(ALL) NOPASSWD: /usr/bin/pmset schedule cancelall
    bokix ALL=(ALL) NOPASSWD: /usr/bin/pmset
    3. 在用户目录/Users/bokix/Library/LaunchAgents 中增加启动配置:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist
    PUBLIC '-//Apple Computer//DTD PLIST 1.0//EN'
    'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>com.user.clearpmset</string>
    <key>ProgramArguments</key>
    <array>
    <string>/bin/bash</string>
    <string>/Users/bokix/bin/clear_pmset_schedule.command</string>
    </array>
    <key>StartInterval</key>
    <integer>1800</integer> <!-- 秒 = 30 分钟 -->
    <key>RunAtLoad</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/tmp/clearpmset.out</string>
    <key>StandardErrorPath</key>
    <string>/tmp/clearpmset.err</string>
    <key>EnvironmentVariables</key>
    <dict>
    <key>PATH</key>
    <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
    </dict>
    <key>WorkingDirectory</key>
    <string>/Users/bokix</string>
    </dict>
    </plist>
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     867 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:44 PVG 05:44 LAX 14:44 JFK 17:44
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86