10

分享:类 unix 系统如何清理磁盘空间,以及 Mac 的磁盘空间是如何分配的?

 1 year ago
source link: https://www.v2ex.com/t/967815
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

分享:类 unix 系统如何清理磁盘空间,以及 Mac 的磁盘空间是如何分配的?

  Gantnocap · 26 分钟前 · 57 次点击

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

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

当我清理完磁盘空间后,我使用df -h查看了一下各磁盘空间的具体占用,结果 https://github.com/K-tang-mkv/K-tang-mkv.github.io/blob/main/assests/dfh.png

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

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK