mac磁盘空间被/private/var/vm/下残留的swapfile*、sleepimage及core/stuck/0字节文件大量占用,需通过终端命令ls、sudo rm、pmset禁用安全睡眠并删除,或访达直连手动清理。

Mac磁盘空间被大量临时交换文件悄悄吃掉数GB,常见于系统异常关机、虚拟机崩溃、Xcode构建中断或内存压力过大后未释放的swapfile*与sleepimage残留,这些文件隐藏在/private/var/vm/下,不显示在访达中,也不计入“废纸篓”容量统计,必须手动定位并清除。
确认并删除活跃交换文件残留
macOS会在/private/var/vm/目录下生成swapfile0、swapfile1等动态交换文件,系统正常关机时应自动清理;但若曾强制断电、内核崩溃或休眠失败,旧swapfile可能滞留且持续占用空间。
打开“终端”应用。
执行:ls -la /private/var/vm/ | grep swapfile,查看是否存在创建时间早于你最近一次正常重启日期的swapfile*文件(例如:2026-07-12 03:45的swapfile0,而你8月才重装过系统)。
若存在可疑文件,运行:sudo rm -f /private/var/vm/swapfile*;【此操作需管理员密码,且仅对已停止使用的交换文件安全,切勿在系统卡死时强行删除】。
执行后输入密码回车,无提示即表示删除成功。
清除休眠镜像文件sleepimage
当Mac启用“安全睡眠”(默认开启),系统会将内存内容完整写入/private/var/vm/sleepimage,该文件大小≈你安装的物理内存容量(如16GB内存对应约16GB sleepimage),即使你从不使用合盖休眠,该文件也长期驻留。
第一步:检查当前是否启用安全睡眠——在终端中运行:pmset -g | grep hibernatemode。
第二步:若返回值为3(默认)或25,说明sleepimage正在被维护;若你确定极少使用合盖休眠,可永久禁用并删镜像。
第三步:执行:sudo pmset hibernatemode 0,关闭安全睡眠机制。
第四步:立即删除现有镜像:sudo rm /private/var/vm/sleepimage;【删除后首次合盖仍会短暂休眠,但不再生成新sleepimage】。
第五步:重启Mac,验证文件未再生——再次运行ls /private/var/vm/sleepimage,应提示“No such file or directory”。
清理vm子目录中其他冗余临时项
除swapfile和sleepimage外,/private/var/vm/下还可能出现coredump临时块、stuck_page_cache或命名异常的0字节占位文件,它们不参与系统调度,纯属失败残留。
方法一:访达直连清理(需显示隐藏路径)
按Command + Shift + G打开“前往文件夹”,输入/private/var/vm/,回车;输入管理员密码授权;浏览列表,手动选中名称含“core”“stuck”“tmp”或大小为0B的文件,拖入废纸篓。
方法二:终端批量清理(推荐)
在终端中粘贴执行:sudo find /private/var/vm -type f \( -name "core*" -o -name "*stuck*" -o -size 0 \) -delete。
这一步会跳过所有非零大小的正常交换文件,只精准清除明确无用的碎片。











