我的Mac是128G的,这么低的磁盘空间很容易爆满,如果只是通过finder删除一些文件,是很难真正的清理空间的。我采用的方式如下:

  • 先在根目录用sudo du -sh ./* | sort -rh | head -10这个命令会统计当前目录下前10个占用最大的文件系统,并会显示他们具体占用了多少G的磁盘空间;
  • 然后就是挨个进入到显示的占用最大的目录里面,继续统计,然后不停的删除不需要的文件sudo rm -rf path/,真正的彻底清理空间。

当我清理完磁盘空间后,我使用df -h查看了一下各磁盘空间的具体占用,结果

可以看到,各磁盘分区加起来都超过128G了,并且各个磁盘分区的占用和可使用也计算不对,最后查了一下Mac的磁盘分区技术是采用了APFS 文件系统中的一项技术 - APFS Volume Groups。 APFS Volume Groups 允许在一个物理磁盘上创建多个逻辑磁盘分区,这些逻辑分区之间可以共享空间池。也就是说,每个分区显示的“大小”是该分区可以扩展到的最大容量,而不是其已实际占用的物理空间大小。

只有当文件系统使用空间时,才会从共享空间池中动态分配物理存储空间。

所以在这里,虽然各分区的逻辑“大小”相加超过了 128G,但它们共享一个约 128G 的物理存储池,实际occupied物理空间还是小于等于总的物理磁盘空间。

这种机制可以提高磁盘空间的利用率和灵活性。所以不用担心各分区显示大小的总和超过了物理磁盘空间,这在 APFS 的 Volume Groups 下是正常的。


<
Previous Post
tensor 广播机制
>
Next Post
Bayes’s theorem