mac“系统数据”膨胀主因是日志与崩溃报告堆积,可通过系统设置一键清理90天前日志,或手动删除diagnosticreports中旧文件、终端命令清统一日志数据库及/var/log归档日志。

Mac磁盘中“系统数据”持续膨胀,往往是因为/var/log、~/Library/Logs/DiagnosticReports、/var/db/diagnostics等路径下堆积了大量已失效的崩溃报告、归档日志和统一日志数据库副本,这些文件不再参与实时诊断,却长期计入磁盘占用,有的单个.crash文件就达百MB,旧.gz日志包动辄几百MB,不清理会虚占数十GB空间。
用系统设置一键清出可识别日志
这一步操作起来很简单,直接点击按钮就能释放空间,系统会自动跳过正在写入的日志和核心服务日志,只删90天前归档的安装日志、崩溃报告压缩包、系统日志备份等。
1、点击屏幕左上角苹果图标 → “系统设置”;
2、左侧边栏点“通用” → 右侧点“储存空间”;
3、等待15秒左右完成扫描,找到“系统数据”条目,点击其右侧的“管理”按钮;
4、在弹出窗口中定位到“日志文件”子项,确认状态为“可删除”后,点击“删除”;
系统将移除DiagnosticReports中非当前年份的.crash/.panic文件、/var/log下已轮转的*.gz/*.old包、以及安装过程生成的归档日志。
手动清空用户级诊断报告目录
DiagnosticReports目录专存你账户触发的崩溃与内核报告,全是静态文件,删完不影响新崩溃记录生成,且释放效果最直观——一个老旧的Safari崩溃报告就可能占300MB。
方法一:按时间+大小双排序精准选删
1、打开访达,按Command+Shift+G调出“前往文件夹”;
2、输入~/Library/Logs/DiagnosticReports并回车;
3、点击右上角“排序方式”→“修改日期”,再点击“大小”列二次排序,使大而旧的文件沉到底部;
4、按住Shift键,从底部开始向上选中所有修改日期早于【2026年1月1日】的.crash、.panic、.tracev3文件;
5、按Command+Delete移至废纸篓 → 右键废纸篓 → “清倒废纸篓”。
方法二:终端一行命令删7天前所有崩溃报告
打开终端,执行:find ~/Library/Logs/DiagnosticReports -name "*.crash" -mtime +7 -delete 2>/dev/null;
该命令不会报错也不会提示成功,执行完即生效,无需重启。
终端分层清理系统级日志库
统一日志数据库(/var/db/diagnostics)和传统日志路径(/var/log、/private/var/log)必须分步处理:先清数据库,再删归档,否则统一日志索引损坏会导致后续崩溃无法记录。
第一步:安全擦除统一日志数据库
1、打开终端;
2、执行:sudo log erase --since "30 days ago";
输入管理员密码(无可见字符,输完直接回车);
【绝不能用rm -rf直接删/var/db/diagnostics目录】,否则统一日志服务将永久失效,系统重启后也无法重建索引。
第二步:精准清除/var/log归档日志
1、在终端中运行:sudo find /var/log -type f \( -name "*.gz" -o -name "*.[0-9]" -o -name "*.old" \) -mtime +7 -delete;
2、再运行:sudo find /private/var/log -type f \( -name "*.gz" -o -name "*.[0-9]" -o -name "*.old" \) -mtime +7 -delete;
这两条命令只删7天前的压缩包和版本号后缀日志,保留system.log、secure.log等正在滚动写入的活跃日志文件。
第三步:同步清理CUPS打印日志归档
1、执行:sudo find /var/log/cups -name "*.gz" -mtime +14 -delete;
2、再执行:sudo find /var/log/cups \( -name "access_log.*" -o -name "error_log.*" -o -name "page_log.*" \) -type f -mtime +14 -delete;
CUPS日志若长期不清理,access_log.1.gz这类文件可能膨胀至1GB以上,且不会被系统储存管理识别。











