MacBook如何释放磁盘空间?

发表时间:2021-05-15 10:06

        在MacBook上 安装或更新一个应用程序有时会出奇的困难,由于磁盘空间不足。近日,我已在我的MacBook Pro上实操了分析和清理磁盘空间。结果,我已设法释放10GB磁盘空间,并最终升级XCode到最新版本。一起来看看吧!


分析磁盘空间占用较多的最好方法是使用Disk Inventory X ,支持Mac OS 10.13+ (including 10.15 Catalina)

命令行安装:

brew install --cask disk-inventory-x


不会命令行的朋友,下载安装 。Disk Inventory X软件

选择Macintosh HD进行分析,分析较慢,需要稍等片刻:

屏幕快照 2021-05-15 上午10.19.53.png

该应用有清晰的界面展示磁盘使用情况:

屏幕快照 2021-05-15 上午10.23.02.png

下面,让我们来讨论减少磁盘使用量的小效果。


删除冗余应用程序缓存


在我的电脑上,大量非必要数据存放在: ~/Library/Caches。我意识到有几百兆跟一年多没用过的Yarn有关。显然,很多应用程序都希望缓存数据,而忽略了随后的清理工作。

你可以使用以下命令彻底清除缓存:


cd ~/Library/Caches

rm -rf *


或者,你也可以选择要删除缓存的文件。我已经定期清理总缓存几个月了。除了暂时的系统速度变慢之外,没发现其他任何问题。


很显然,过段时间缓存会重新产生。但是即使经过更长时间,也不会有原来那么大。清理30多GB缓存后,使用一周电脑缓存也只增加到2GB。


删除旧的日志文件


我平常使用Ruby on Rails最多。使用Disk Inventory X,我发现运行本地测试会持续写log到log/test.log。



可以想象到其他应用也在以同样方式占用磁盘。Disk Inventory X对于识别和修复此类问题非常友好。


减少Docker使用磁盘空间




Docker以侵占磁盘空间著名。可以通过以下命令查看Docker占用了多少磁盘空间:


TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE

Images          17        4         2.115GB   1.577GB (74%)

Containers      6         1         138.4MB   0B (0%)

Local Volumes   19        5         1.564GB   1.347GB (86%)

Build Cache     0         0         0B        0B


运行docker images查看哪些镜像占用空间最大:


docker images


REPOSITORY     TAG          IMAGE ID      CREATED        SIZE

pihole/pihole   latest       4642d275ab73   4 months ago   296MB

postgres       11.8-alpine   a7f73db0b977   6 months ago   156MB

postgres       12.2-alpine   ae192c4d3ada   8 months ago   152MB

postgres       9.6.17       529a7b20fb73   8 months ago   200MB

postgres       11.6-alpine   89ae06c2ad76   11 months ago   152MB


在我的电脑上,我有好几个版本的postgres镜像,每个都占用大量空间。可以用以下命令移除Docker镜像:


docker rmi -f IMAGE_ID


以我的经验来看,镜像通常占用大部分磁盘空间。但是,如果您想进行更全面的清理,包括Docker容器,网络和缓存,请使用以下命令:


docker system prune


我之所以选择全面清理,是因为所有的本地Docker项目都可以轻松的用seed data创建。


注意:在删除容器或卷之前,请确保仔细检查是否没有难以恢复的数据。


查看Docker文档 以了解有关其他修剪命令的更多信息。


最后


希望那些建议会帮助你轻松释放大量磁盘空间。良好的做法是用Disk Inventory X定期检查是否有不必要的磁盘占用,这将有助于帮助你保持良好的磁盘使用。

ABUIABACGAAgtOjp-QUor_OH_QMwmwY4hAc