最安全高效的方式是用系统原生 log 命令管理统一日志,配合 find 清理传统诊断目录;直接删文件易误伤写入中日志或引发权限异常;需优先执行 log erase 清理 Unified Logging,再用 find 删除旧 .crash、.tracev3、.plg 等文件。

最安全高效的方式是用系统原生 log 命令管理统一日志,配合 find 清理传统诊断目录。直接删文件风险高,容易误伤正在写入的日志或触发权限异常。
清理 Unified Logging(推荐优先执行)
macOS 10.12+ 的统一日志由 log 命令统一管控,不能手动删 /var/db/diagnostics 下的文件,必须用 log 指令:
- 清除 7 天前所有统一日志:
sudo log erase --since "7 days ago" - 只清指定日期之后的日志(如清空 2025 年全年的):
sudo log erase --since "2025-01-01" --until "2026-01-01" - 导出后删除(适合需留档再清理):
log collect --start "2025-01-01" --output ~/Desktop/logs.archive && sudo log erase --all
清理传统崩溃报告目录(DiagnosticReports)
这些是 .crash 文件,存放在三个位置,可安全批量删除旧文件:
- 用户级报告:
find ~/Library/Logs/DiagnosticReports -name "*.crash" -mtime +30 -delete - 系统级报告:
sudo find /Library/Logs/DiagnosticReports -name "*.crash" -mtime +30 -delete - 历史归档(含 tracev3 等):
sudo find /private/var/db/diagnostics -name "*.tracev3" -mtime +30 -delete
清理电源与内存异常日志(可选深度清理)
这些目录体积大但不常被关注,属于“系统数据”中隐藏占用源:
- 电源日志:
sudo find /private/var/db/powerlog -name "*.plg" -mtime +60 -delete - 内存越界报告:
sudo find /private/var/db/reportmemoryexception/MemoryLimitViolations -type f -mtime +90 -delete
验证与收尾
执行完命令后建议快速确认效果:
- 查看剩余日志量:
log show --last 1h | head -20(应能正常输出) - 检查 DiagnosticReports 目录大小:
du -sh ~/Library/Logs/DiagnosticReports - 清空废纸篓确保空间释放:
rm -rf ~/.Trash/*


















