推荐用 sudo log erase --since "30 days ago" 清理统一日志,再按修改时间删除 /var/log 和 /private/var/log 下7天前的 .old、.gz、数字后缀归档,避开 .mds_store、install.log 等关键文件,并清理 cups、/private/var/folders/xx/yy/c/*/logs 中大体积缓存。
mac 后台服务(比如 launchd、syslogd、mdnsresponder、cups、spotlight 等)运行时会持续写入日志,长期积累容易在 /var/log/、/private/var/log/ 和 /private/var/folders/ 下生成大量无用归档或缓存日志,既占空间又拖慢控制台响应。清理的关键是不删活跃日志、只清归档与过期内容、避开系统关键结构文件。
用 log erase 清统一日志数据库(最安全有效)
macOS 10.12+ 的统一日志(Unified Logging)是后台服务错误和诊断信息的主存储,它以 SQLite 数据库存于 /var/db/diagnostics —— 绝不能手动删这个目录,否则会破坏日志索引,导致新日志无法记录。
-
清除 30 天前的所有统一日志(推荐日常维护):
sudo log erase --since "30 days ago"
-
彻底清空全部统一日志(适合重装后或深度清理):
sudo log erase --all
执行后系统会自动重建基础日志结构,重启非必需,但建议操作后重启一次以确保服务重新注册日志源。
精准清理 /var/log 和 /private/var/log 归档
这些路径下,后台服务生成的日志默认由 newsyslog 轮转,但轮转失败或配置不当会导致 .old、.gz、数字后缀(如 system.log.1)等归档堆积。
-
删除所有带版本号或压缩后缀的旧归档(保留
system.log、secure.log等实时文件):sudo rm -f /var/log/*.old /var/log/*.[0-9] /var/log/*.[0-9].gz \ /private/var/log/*.old /private/var/log/*.[0-9] /private/var/log/*.[0-9].gz -
更稳妥的方式:按修改时间删 7 天前的归档(避免误删当日刚轮转的文件):
sudo find /var/log /private/var/log -type f \( -name "*.gz" -o -name "*.[0-9]" -o -name "*.old" \) -mtime +7 -delete
⚠️ 注意避开以下关键文件(它们不是普通日志,删了会影响功能):
-
/var/log/.mds_store(Spotlight 索引元数据) -
/private/var/log/install.log(系统安装与更新追踪) -
/var/log/system.log、/private/var/log/secure.log(正在写入的活动日志,勿删)
清理 CUPS、launchd 等专项服务日志
某些后台服务(如打印服务 CUPS、任务调度 launchd)有独立日志子目录,容易被忽略:
-
清空 CUPS 打印日志归档(常含
access_log.1.gz等):sudo find /var/log/cups -name "*.gz" -mtime +14 -delete sudo find /var/log/cups \( -name "access_log.*" -o -name "error_log.*" -o -name "page_log.*" \) -type f -mtime +14 -delete
-
关闭 launchd 冗余日志(若不需要调试):
编辑/System/Library/LaunchDaemons/com.apple.syslogd.plist或用户级~/Library/LaunchAgents/中自定义 plist,将StandardOutPath和StandardErrorPath对应的路径注释或删除,再执行:sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
清理 /private/var/folders/ 中的服务临时日志
该路径下由 macOS 自动管理,但部分后台服务(如 WebKit、Spotlight、CloudKit)会在子目录中留下 Logs/ 或 C/ 缓存,其中可能包含数 MB~GB 的调试日志:
- 查找并清理大体积日志缓存(谨慎执行):
sudo find /private/var/folders -path "*/C/*/Logs" -type d -size +50M -print0 | xargs -0 du -sh | sort -hr | head -10
确认路径无正在运行进程依赖后,可针对性清空:
sudo rm -rf /private/var/folders/xx/yy/C/com.apple.Safari/Logs/
提示:
/private/var/folders/下路径随机,不建议全盘rm -rf;优先查du -sh /private/var/folders/**/Logs 2>/dev/null | sort -hr | head -5定位大户。
不复杂但容易忽略。











