清理macOS上的Purgeable磁盘空间
Last updated
Was this helpful?
Last updated
Was this helpful?
我可能理解错了,实践本文的方法并没有清理出可用空间。不过 这篇文章中,"卡里斯马"介绍了如何将删除程序残留的空间释放出来,值得学习参考。并且他提供了一个工具。
在使用macOS时,你会发现磁盘空间似乎很容易使用满,但是当你通过 Apple 菜单
选择 Storage
面板检查,可以看到磁盘空间有一部分显示为 Other Volumes
,并且仔细观察可以看到可用存储空间 Available
显示值比实际可用空间 Free
要大一些,其中有一部分看不到的空间被标记为 purgeable
。
举例:
60.46 GB的磁盘,显示的 Free
空间是 40.45 GB,这个free空间通过 df -h
命令也可以看到:
可以看到虽然 Disk Utility显示可用磁盘空间 49.5 GB (9.05 GB purgeable),但是实际上这部分空间macOS没有释放出来。
对于强迫症用户,或者说,需要调整磁盘空间,来安装Linux操作系统,就可能希望主动释放出这部分 Purgeable
存储空间。
释放的方法有两部分:
在系统中创建一个极大的文件,以便macOS认为存储空间不足,就会自动回收释放出purgeable空间
手工创建一个大文件来占满磁盘空间
添加了
bs=1024m
可以加快磁盘文件生成,达到150MB/s以上
直到系统出现磁盘满提示,此时在终端中生成的~/stupidfile.cap
也会停止,在终端中会提示信息
注意,此时purgeable
空间还没有释放。在Finder文件管理器中选择这个文件stupidfile.crap
,然后按下cmd-d
来复制文件。此时macOS就会开始删除purgeable空间,此时在终端上删除掉这个~/stupidfile.cap
及其clone的文件。
不过,从High Sierra版本开始,使用了APFS文件系统不会直接复制文件,这导致上述方法失效。
关闭掉 iCloud 中的 Optimize Mac Storage
功能,这样后续就不会重新出现purgeable情况。
需要清理掉本地TimeMachine备份
对于macOS各个版本都具有本地TimeMachine快照,所以会占用很多空间(如果你长时间不备份TM的话)。这个问题比较好解决,就是:
APFS不会释放Purgealbe空间,目前还是没有找到方法。目前看,好像和container有关:
有可能通过 diskutil apfs deleteContainer disk__
可以清理出空间。不过看上述APFS的卷都是系统必须的卷,应该无法清理出空间了。
根据苹果官方的Help文档 说明如下:
在OS X EI Capitan及早期版本, Other
文件只Mac认为不属于任何其他分类的文件,包括在磁盘镜像或者归档的文件,存储在应用(如Contacts或Calendar)中的数据,以及应用插件或扩展。当Mac处于,所有这些文件都被认为是Other
。
从macOS Sierra开始,Purgeable
内容是指你开启了 ,这些可以清除的空间会在需要存储空间的时候由macOS自动释放出来。实际上,当在macOS中删除文件,被删除的文件都会进入Purgeable
状态,直到存储空间真正需要时候会自动释放出这部分隐含文件。
做TimeMachine备份,释放出本地自动存储的快照镜像。另外一种方法是手工删除本地TimeMachine备份,并关闭掉自动TM备份,避免TM占用磁盘。 -
具体解决方法我还需要探索,从一些磁盘管理工具来看,例如 应该是有系统API方法可以释放出这部分空间的,但是具体方法我还没有找到。(我不想为了这个单一功能去购买磁盘文件管理工具,而是想掌握这种macOS底层使用技术)
参考