「系统」占用太多硬盘空间?试试用这些方法将它找回来

2018 年 3 月 28 日 科技美学

本文经过少数派授权转载,搜索少数派既可以关注

我最近这两天正在整理自己各种电子设备中的文件。没用的删掉,其他东西摆一摆位置什么的。折腾一整天,本来想看一看删了多少东西的时候,我发现了一个诡异的现象。我的硬盘剩余空间变得非常小,甚至不如清理之前,而占据空间最大的,竟然是「系统」。而上面写的 223G 可用更是非常诡异,实际上可以用的剩余空间 20G 都不到。

少数派之前也分享过不少实用的小技巧,长按二维码关注少数派(ID:sspaime),在后台回复「技巧」GET 到更多。

文件系统错误

遇到这种异常膨大的东西时候,首先会想到的可能性是文件系统错误。早在一年前,我的电脑就出现过类似的状况,就是由于文件系统错误导致的,只不过那次膨胀的是「其他」,而这次是「系统」。于是我重启进入 Recovery(开机时按住 ⌘Command-R)运行磁盘工具进行急救。对于系统盘而言,急救只有在 Recovery 中进行,才可以解决某些问题。

应用程序数据残留

在以前版本的系统中,「其他」体积特别大而又搞不清楚为什么大多数情况都是因为这个。

在 macOS 中,应用程序一般将自己的数据存放在:~/Library/Application Support 中,在应用程序删除时,这些文件并不会被自动删除。目的是能够让你下次安装软件的时候直接继续按照之前的状态使用,但是 macOS 一直在这件事情上毫无节制,使得很多软件残留了大量的文件。

如果你对自己的电脑里装了什么心里很有数的话,是可以尝试手动清理的。CleanMyMac 虽然能够清理掉很多这里的缓存,但是会有不少漏网之鱼。我删掉了五六个还蛮大的文件夹,但是并没有哪个文件夹能大到占 200G。

本地快照

本地快照是一个很早就有的特性。在 APFS 中,当你对硬盘进行修改的时候,文件系统会将这些被修改的文件备份起来,生成一些快照。这些文件在一般情况下并不会占用太多的空间,因为 24 小时后就会被系统删除。但是如果你在一天之内删除或者修改了太多的文件的话,就会出现这样的状况了。

虽然苹果声称,这些文件将会在空间不足时自动删除,但这些都是真实存在的空间占用。假如你现在要进行的操作所需的空间大于当前的可用空间(比如安装 Boot Camp),就会直接报错了。所以掌握清除本地快照的方法可以在关键时刻帮你解决问题。

如何清除本地快照

在 macOS 10.13 之前的版本中,文件存储在 /.MobileBackups 这一文件夹中,可以直接删除。而且也可以通过在终端中运行 sudo tmutil disablelocal 关闭本地快照功能。但是在 10.13 之后,APFS 将本地快照引入了底层,快照文件的存储位置实际上是在另一个分区中!(与 APFS 的容器格式特性有关)所以你无法手动删除这些文件,而上面提到的关闭本地快照的命令也被苹果移除了。

所以在 APFS 中,我们就需要更复杂的步骤来清除这些文件。首先在终端中输入以下命令,列出快照列表。

sudo tmutil listlocalsnapshots /

图中显示了目前在本地磁盘中的快照列表,要删除它们,你可以一个一个删,也可以整个删掉。删除单个快照的命令是:

sudo tmutil deletelocalsnapshots [Date]

使用的时候把这里的 [Date] 替换成上图中的日期编号即可。注意只复制日期,如:

sudo tmutil deletelocalsnapshots 2018-03-19-055945

批量删除的时候就比较复杂了,苹果并没有提供一个删除全部快照的命令,只提供了另一个删除指定大小快照的命令:

thinlocalsnapshots / [purge_amount] [urgency]

其中,[purge_amount] 要填写删除的大小,以 Byte 为单位,[urgency] 要填写挤压的程度,范围从 1 到 4,会使用不同的清除方案。

对于我们此处这个删除全部的需求来说,我们直接把要删除的大小设置为 100G,挤压程度为 4 即可。命令为:

sudo tmutil thinLocalSnapshots / 100000000000 4

运行需要一定的时间,执行成功后将会消除 100G 大小的快照。

图里少了个 0,别介意

接下来再尝试列出快照列表,如果还有就再执行几次,最多三次应该也就清理的差不多了。这时候再打开关于本机,就可以看到空间已经被释放了。

什么是本地快照

本地快照是 Mac 文件保护的机制中的一环。Mac 的备份主要由三部分构成:

  • Time Machine

  • 文件版本

  • 本地快照

首先第一个大家非常熟悉,Time Machine 属于定时备份,在固定的时间后进行一次增量备份,备份的位置必须是其他分区。在目标磁盘没有满之前,会一直保存下去。

第二个文件版本会在修改文件时,macOS 会在 /.DocumentRevisions-V100 保存文件最近修改的版本,但是需要文件格式支持。备份与本分区共享可用空间,在没有达到限制大小之前,会一直保存下去。有些时候一些视频文件被存储了旧版本的话会导致极大的空间占用,但还好这玩意比较容易清理,很多软件都能干。

本地快照则比较低层,对于磁盘中所有的文件修改,本地快照都会进行备份,备份与本分区共享可用空间。它与文件版本除了能够支持所有文件这一区别外,还可以对磁盘的格式化进行恢复。但是这一备份只保留 24 小时,意味着该机制仅仅是作为一个备份到 Time Machine 之前的事故预防措施而存在的。所以清除本地快照一般情况下没有任何风险。

一些唠叨

不管是曾经困扰 Mac 用户的「其他」还是现在的「系统」,都体现了一个问题,就是苹果对与自己磁盘占用的表示非常不明确。我个人认为,在图表中清楚的标明备份所占用的体积是非常有必要的。否则本地快照这样一个频繁变化且幅度如此之大的磁盘占用会相当程度上影响用户对硬盘剩余空间的判断,这个磁盘空间的图表就变得没有任何意义了。

由于本地快照功能现在直接整合在 APFS 之中,使得它已经不再能够被关闭,而苹果又没有提供一个方便的方案来清理这些文件,希望以后能有一个优雅一点的解决方案。


登录查看更多
0

相关内容

Mac OS X (OS X, macOS) 是一套 Unix 基础的操作系统,包含两个主要的部份:名为 Darwin,以 FreeBSD 源代码和 Mach 微核心为基础,由苹果公司和独立开发者社区协力开发的核心;及一个由苹果计算机开发,名为 Aqua 之专有版权的图形用户界面。 苹果公司先后为 Mac PC 电脑开发了 System vX.X、Mac OS 8、Mac OS 9 及 Mac OS X (OS X, macOS) 等操作系统。Mac OS X 于 2001 年首次在市场上推出,并从 2002 年起随麦金塔计算机发售。2012 年更名为 OS X,在 2016 年再次更名为 macOS。
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【ACL2020-Google】逆向工程配置的神经文本生成模型
专知会员服务
16+阅读 · 2020年4月20日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【大规模数据系统,552页ppt】Large-scale Data Systems
专知会员服务
60+阅读 · 2019年12月21日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
PC微信逆向:两种姿势教你解密数据库文件
黑客技术与网络安全
16+阅读 · 2019年8月30日
7 款实用到哭的App,只说一遍
高效率工具搜罗
84+阅读 · 2019年4月30日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
已删除
AI科技评论
4+阅读 · 2018年8月12日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
Arxiv
24+阅读 · 2020年3月11日
3D Face Modeling from Diverse Raw Scan Data
Arxiv
5+阅读 · 2019年2月13日
Arxiv
3+阅读 · 2018年6月19日
VIP会员
相关VIP内容
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
PC微信逆向:两种姿势教你解密数据库文件
黑客技术与网络安全
16+阅读 · 2019年8月30日
7 款实用到哭的App,只说一遍
高效率工具搜罗
84+阅读 · 2019年4月30日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
已删除
AI科技评论
4+阅读 · 2018年8月12日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
Top
微信扫码咨询专知VIP会员