在知乎 答的关于Mac上的一个常见的问题, 知乎。"为什么我的mac pro里显示应用程序占空间200多GB?实际上很小"
这是Mac自带的system information.app (About this mac)。
机制
当我们在点击存储这个按钮时,Mac后台会通过spotlight的功能进行对audio,movie,apps这些 属性的文件进行统计。
spotlight的背后是通过mac的一套metadata的机制进行索引的,metadata可以理解成对整个文件系统做了一个快速的分类和元数据index,就像字典目录一样,可以感受一下,这些元数据存储在根目录。
mac对整个metadata进行了规范,可以通过命令mdls查看,属性kMDItemContentTypeTree,递增的属性。
所以对于统计Apps的大小,就是把所有符合"com.apple.package"进行汇总。
解决
在一些情况下面,metadata索引可能会出现错误,这时候,我们看到统计出来的结果会有问题或者偏差太大,这时候,可以通过下面的步骤
1. 确保spotlight没被关闭
显示enabled进入第二步,不然需要把spotlight打开
alexs-iMac:Documents alex$ sudo mdutil -i on /
2. 对mac的整个磁盘,metadata重新建立索引
sudo mdutil -E /
这步操作比较耗磁盘的IO,明显的感觉就是系统用起来没有那么顺畅了,如果磁盘大,文件多,可能需要很长时间。
最好在下班,或者吃饭间隙操作。