V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Gantnocap
V2EX  ›  程序员

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

  •  
  •   Gantnocap · 2023-08-24 08:39:08 +08:00 · 879 次点击
    这是一个创建于 467 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的 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 下是正常的。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1048 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:19 · PVG 06:19 · LAX 14:19 · JFK 17:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.