关闭macos崩溃日志上传需三步:先在“系统设置→隐私与安全性→分析与改进”中停用“共享mac分析数据”;再用终端执行defaults write com.apple.crashreporter submitdiaginfo -bool false并killall crashreporter;最后清空/library/caches/com.apple.submitdiaginfo/和~/library/caches/com.apple.submitdiaginfo/中的缓存文件。

Mac系统崩溃时自动生成的包含内存切片的Dump文件(如Kernel_*.panic、panic_*.ips、*.crash)默认会尝试上传至Apple服务器,这些文件可能携带应用上下文、进程堆栈甚至敏感内存片段;关闭上传需同步切断本地报告生成链路,否则仍会残留可被读取的副本。
停用系统级诊断数据共享
这一步直接阻断macOS向Apple发送任何崩溃日志的通道,包括含内存快照的Kernel panic报告和应用级.crash文件的上传请求。
点击屏幕左上角苹果菜单 → “系统设置” → 左侧边栏滚动到底部点“隐私与安全性” → 向下滚动至“分析与改进”区域 → 点击右侧“详细信息…”按钮 → 取消勾选“共享Mac分析数据”和“共享iPhone或iPad分析数据” → 在弹出确认窗口中点击“停用”。
【必须完成此步,否则后续终端命令仅禁弹窗,不阻止后台上传】
禁用CrashReporter服务的上传行为
macOS的CrashReporter进程在生成本地报告后,会调用submit-diagnostic-data等子流程尝试上传。需强制其跳过该环节。
打开“终端” → 输入以下命令并回车:
defaults write com.apple.CrashReporter SubmitDiagInfo -bool false
再执行:
killall CrashReporter
该命令将CrashReporter的上传开关设为false,并重启进程使其立即生效。此后所有新生成的崩溃报告仅保留在本地DiagnosticReports目录,不再触发上传动作。
删除已缓存待上传的Dump文件副本
系统可能已在/Library/Caches/com.apple.SubmitDiagInfo/或~/Library/Caches/com.apple.SubmitDiagInfo/中预存待上传的内存转储包,必须手动清除才能断根。
第一步:按Command+Shift+G打开“前往文件夹”,输入/Library/Caches/com.apple.SubmitDiagInfo/回车;
第二步:若该目录存在,全选其中所有文件 → 右键 → “移到废纸篓”;
第三步:再次前往文件夹,输入~/Library/Caches/com.apple.SubmitDiagInfo/回车 → 同样全选移入废纸篓;
第四步:右键废纸篓 → “清倒废纸篓”。
注意:这两个缓存路径在未启用分析共享时通常为空,但若曾开启过且发生过内核崩溃,则极大概率存在以uuid命名的二进制包,每个可达数百MB。











