macOS自动升级需三层协同关闭:一、系统设置中关闭“自动保持我的 Mac 最新”及全部高级选项;二、终端执行sudo softwareupdate --schedule off、禁用守护进程并清除Dock红点;三、修改hosts文件屏蔽swscan.apple.com等6个更新域名。

macOS 自动升级功能在后台持续运行时,确实会带来可测的性能损耗——不是偶然卡顿,而是由多个系统进程协同引发的资源争抢。关闭它不是“拒绝更新”,而是把控制权拿回来,尤其对开发者、音视频工作者或长期运行虚拟机的用户来说,这一步很实在。
自动升级到底占用了什么资源?
核心损耗来自四个常驻进程:
- softwareupdated:每小时被唤醒一次检查更新,触发 DNS 查询、磁盘读写(尤其 /Library/Updates/ 目录)、网络连接,CPU 占用常达 5–15%,风扇随之加速
- storeagent:静默下载 App Store 应用更新,占用带宽且可能在合盖休眠后唤醒设备继续传输
- nsurlsessiond:所有系统级后台下载(包括固件预加载、iCloud 同步触发的更新行为)都经它调度,易造成网络栈延迟升高
- coreduetd:在检测到 Wi-Fi 连接后,可能预加载更新元数据,虽不下载大文件,但增加内存与 I/O 压力
关闭自动升级的三层实操建议
单关图形界面开关无效,必须分层阻断:
- 第一层:图形设置全关 —— 进入「系统设置 → 通用 → 软件更新」→ 点击「自动更新」旁 ⓘ → 关闭「自动保持我的 Mac 最新」→ 点「高级…」→ 全部取消勾选(含「安装安全响应和系统文件」)→ 返回主界面再关掉「显示 macOS 升级提醒」
-
第二层:终端停服务+清红点 —— 打开终端,依次执行:
sudo softwareupdate --schedule off
sudo launchctl disable system/com.apple.SoftwareUpdate
defaults write com.apple.systempreferences AttentionPrefBundleIDs 0 && killall Dock -
第三层:hosts 屏蔽关键域名 —— 终端运行 sudo nano /etc/hosts,在末尾添加六行:
127.0.0.1 swscan.apple.com
127.0.0.1 swdist.apple.com
127.0.0.1 mesu.apple.com
127.0.0.1 gdmf.apple.com
127.0.0.1 xp.apple.com
127.0.0.1 appldnld.apple.com
按 Ctrl+O 保存,Ctrl+X 退出
关掉之后怎么安全更新?
关闭自动升级 ≠ 不更新。推荐两个低干扰方式:
- 每月固定一个空闲时段,手动打开「软件更新」→ 点「检查更新」→ 仅勾选「安装安全响应和系统文件」(这类补丁体积小、重启快、风险低)
- 大版本升级(如 Sonoma → Sequoia)前,先备份 + 查阅专业软件兼容公告,确认无冲突再操作,避免升级后 Logic Pro 或 Parallels 突然失联



















