Mac磁盘“系统数据”占用高多因日志堆积,应先用系统存储管理工具识别并删除可清理日志,再手动清理~/Library/Logs、/var/log等目录中的大日志文件及归档,最后通过log命令管理统一日志留存策略。

Mac 磁盘空间被“系统数据”大量占用,日志文件往往是幕后主力——它们藏得深、长得快,单个可能几百MB,累积起来轻松吃掉几十GB。关键不是盲目删,而是看清在哪、哪些能删、怎么安全删。
用系统存储管理工具快速识别可删日志
这是最稳妥的第一步,macOS 自带功能会自动筛选出已被标记为“安全清理”的日志类内容,比如过期的崩溃报告、安装日志、诊断归档等,不碰正在写入的日志流。
- 点击左上角苹果图标 → “系统设置” → 左侧“通用” → “存储空间”
- 等待扫描完成(约10–30秒),找到“系统数据”项,点击右侧“管理”
- 在弹出窗口中点开“日志文件”,确认状态为“可删除”后,直接点“删除”
- 系统会自动执行,无需输入密码,也不会影响当前运行服务
手动检查用户级日志目录 ~/Library/Logs
这部分完全属于你当前账户,无 SIP 限制,清理风险低,适合排查第三方应用留下的“日志炸弹”。
- 打开访达,按 Command+Shift+G,输入
~/Library/Logs回车 - 点击右上角排序按钮 → 先按“修改日期”,再点击“大小”列升序/降序切换,把大文件顶上来
- 重点关注这些文件夹:
-
DiagnosticReports(崩溃报告,旧的可全删) -
Docker、Code(VS Code)、Unity、Xcode下的子目录(开发工具常在此狂写日志) - 名称含
old、backup、archive或日期早于90天的文件夹
-
- 选中后 Command+Delete 移入废纸篓,最后务必清倒废纸篓
终端命令定位系统级日志大户 /var/log
这里存放系统守护进程日志,部分受 SIP 保护,普通用户看不到全部,但可用 sudo 查顶层目录占比。
- 打开终端,运行:
sudo du -sh /var/log/* 2>/dev/null | sort -hr | head -10
输入密码后,会列出
/var/log下最大的10个子目录 - 若看到
asl占比异常高(比如 >2GB),说明旧式 Apple System Log 数据库未轮转,可清理:sudo rm -rf /var/log/asl/*.asl
- 其他常见膨胀点:
install.log、system.log.0.bz2类滚动归档,保留3–5个足够,多余的可删
扫描压缩日志和隐藏大日志文件
有些日志以 .gz、.bz2、.old 形式存在,du 显示的是压缩后大小,实际解压后可能翻几倍。
- 查找大体积归档日志:
find /var/log -name "*.gz" -o -name "*.bz2" -o -name "*.old" -exec du -sh {} \; 2>/dev/null | sort -hr | head -5 - 对可疑
.gz文件,用gunzip -l 文件名.gz查看解压后预估大小,避免误判
统一日志系统(Unified Logging)不走文件路径,需另法管理
macOS 10.12+ 默认启用 log 命令管理的统一日志,它不存为普通文件,du 看不到,但可通过命令控制留存策略:
- 查看活跃日志源:
log show --last 24h --info | head -20 - 清空所有历史日志(慎用,会丢失调试线索):
sudo log erase --all
- 更推荐方式是调整保留策略:
sudo log config --mode "level:default"或配合log stream实时观察,避免堆积
不复杂但容易忽略


















