Mac磁盘空间被“系统”或“其他”占用多因/private/var/vm/sleepimage文件所致,其大小等于物理内存且不自动清理;需先执行sudo pmset -a hibernatemode 0再删除该文件,否则会立即重建。

Mac磁盘空间被“系统”或“其他”类别悄悄吃掉数十GB,重启后也不见释放,大概率是/private/var/vm/sleepimage这个睡眠镜像文件在作祟——它默认大小等于你机器的物理内存(如16GB内存就占16GB磁盘),且系统永不自动清理,必须手动干预才能安全腾出空间。
确认sleepimage是否正在占用空间
打开“访达”→按下Command + Shift + G→输入/private/var/vm/→回车。如果看到名为sleepimage的文件,右键“显示简介”,查看大小。若该文件存在且体积巨大(≥8GB),说明它正是当前磁盘压力的直接来源。
注意:此目录下还可能有swapfile*和core_*,但不要在此时删除它们——sleepimage是唯一可独立清理且无运行依赖的镜像文件。
禁用安全睡眠并彻底删除sleepimage
这一步让系统永久停止生成新镜像,并清除现有文件,适用于台式Mac、插电使用的笔记本,或你从不依赖断电后恢复内存状态的用户。
第一步:打开“终端”(可在聚焦搜索中输入Terminal);
第二步:执行sudo pmset -a hibernatemode 0,回车后输入管理员密码(输入时无任何显示,输完直接按回车);
第三步:立即运行sudo rm /private/var/vm/sleepimage,强制删除当前镜像;
第四步:验证是否删除成功——输入ls -lh /private/var/vm/sleepimage,若返回No such file or directory,说明已清除;
【关键前提】必须先执行hibernatemode 0再删文件,否则系统会在你删除瞬间重建sleepimage,白忙一场。
仅释放空间但保留休眠功能(临时方案)
如果你仍需断电续用(比如经常带MacBook外出又担心忘记保存),但此刻急需腾出空间,可用此方法单独清空当前镜像,系统后续会按需重建。
方法一:确保Mac处于开机状态(不能在休眠或关机中);
方法二:在终端中执行sudo rm /private/var/vm/sleepimage;
方法三:立刻创建一个空占位文件防止系统秒建:sudo touch /private/var/vm/sleepimage;
方法四:设置权限锁定该空文件:sudo chown root:wheel /private/var/vm/sleepimage && sudo chmod 600 /private/var/vm/sleepimage;
这一步做完,磁盘空间立刻释放,而休眠功能本身不受影响——下次真正需要休眠时,系统会自动覆盖该空文件并写入新镜像。
验证清理效果并防止复发
打开“关于本机”→“存储空间”,等待1–2分钟刷新,观察“系统”或“其他”分类是否明显缩小;
回到/private/var/vm/目录,确认sleepimage已消失或保持为空文件(大小为0字节);
最后执行pmset -g | grep hibernatemode,输出必须为hibernatemode 0,表示禁用成功;
【不可逆操作提醒】一旦设为hibernatemode 0,唤醒将完全依赖RAM供电,断电即丢数据,请确保你习惯随时保存工作。

















