Mac磁盘空间被“系统数据”占用多因崩溃遗留core dump文件,位于/private/var/vm/和/private/var/folders/下,需用终端命令sudo rm -f /private/var/vm/core_*及find删除,并执行sudo sysctl -w kern.corefile=none永久禁用。

Mac磁盘空间突然被“系统数据”吃掉十几GB,打开活动监视器发现没有异常进程,其实很可能是系统崩溃后遗留的core dump文件没被自动清理——这些文件默认存放在/private/var/vm/和/private/var/folders/下,单个可达数GB,且不会随重启消失。
确认CoreDump文件是否存在
先别急着删,得先定位真实来源。Mac系统崩溃产生的core dump与Linux不同,不走systemd-coredump,而是由内核直接写入vm目录或用户临时缓存区。
打开“访达”,按Command + Shift + G,输入 /private/var/vm/ 并回车;查看是否有以 core_ 开头的文件(如 core_12345、core_67890)——这类文件就是崩溃瞬间保存的完整内存镜像。
再新建一个访达窗口,同样用Command + Shift + G,输入 /private/var/folders/ → 进入任意一层子目录(如 /private/var/folders/zz/),逐层点开,搜索含“core”字样的文件夹或文件;这里常藏有未清理的调试缓存,命名类似 com.apple.coreduetd 或 core.
注意:/private/var/vm/sleepimage 是休眠镜像,【不可删除】,否则会导致睡眠功能失效或开机黑屏。
手动清除已确认的core dump文件
这一步必须用终端执行,图形界面无法访问/private路径下的核心文件。
打开“终端”,粘贴并运行以下命令:
sudo rm -f /private/var/vm/core_*
输入当前管理员密码(输入时屏幕无反馈,输完直接回车);该命令会强制删除所有core_开头的文件,包括残留的崩溃快照和调试残留。
接着清空可能散落在用户缓存中的副本:
cd /private/var/folders/ && sudo find . -name "core_*" -delete 2>/dev/null
这条命令会递归扫描整个/var/folders/树,精准匹配core_*命名模式并删除,【跳过权限不足目录,不报错】,避免中断操作。
永久禁用非必要core dump生成
Mac默认在严重崩溃(如内核panic、驱动级错误)时仍会生成core dump,但日常应用崩溃(比如Safari闪退)并不触发。若你不需要事后分析崩溃原因,可关闭该机制释放后续空间。
第一步:检查当前设置
在终端中运行:sysctl kern.corefile
若返回值为 /private/var/vm/core.%P,说明启用中;若为 core 或空值,则已禁用。
第二步:立即禁用(无需重启)
执行:sudo sysctl -w kern.corefile=none
第三步:写入配置确保重启后持续生效
运行:echo 'kern.corefile=none' | sudo tee -a /etc/sysctl.conf
该配置仅影响未来崩溃行为,对已存在的core文件无影响,需配合前面的手动清理步骤使用。

















