iOS - Mac 重建 Spotlight 索引
前言
最近發現很多 mac 用戶反映自己的 mac 系統顯示內存占用高達 200 多 Gb,可是實際上自己下載的應用程序根本沒那麽多,使用專業的內存掃描工具掃的結果跟系統本身顯示的完全不一樣。那麽出現這個問題到底是什麽原因呢,下面就給大家詳細介紹下這種情況的發生原因及解決方法。
- 這是 Mac 自帶的 system information.app (About this mac)。
1、機制
當我們在點擊存儲這個按鈕時,Mac 後臺會通過 spotlight 的功能進行對 audio,movie,apPS 這些 屬性的文件進行統計。
spotlight 的背後是通過 Mac 的一套 metadata 的機制進行索引的,metadata 可以理解成對整個文件系統做了一個快速的分類和元數據 index,就像字典目錄一樣,可以感受一下,這些元數據存儲在根目錄。
Mac 對整個 metadata 進行了規範,可以通過命令 mdls 查看,屬性 kMDItemContentTypeTree,遞增的屬性。
所以對於統計 Apps 的大小,就是把所有符合 ”com.apple.package” 進行匯總。
2、解決方法
在一些情況下面,metadata 索引可能會出現錯誤,這時候,我們看到統計出來的結果會有問題或者偏差太大,這時候,可以通過下面的步驟
確保 spotlight 沒被關閉
顯示 enabled 進入第二步,不然需要把 spotlight 打開
$ alexs-iMac:Documents alex$ sudo mdutil -i on /
對 Mac 的整個磁盤,metadata 重新建立索引
$ sudo mdutil -E /
這步操作比較耗磁盤的 IO,明顯的感覺就是系統用起來沒有那麽順暢了,如果磁盤大,文件多,可能需要很長時間。最好在下班,或者吃飯間隙操作。
3、重建 Spotlight 索引
Mac系統中的 Spotlight 索引(屏幕右上角)功能相信大家一定經常使用,雖然 Spotlight 在磁盤內容更新方面索引也很及時,但是還是會出現某些情況,需要我們重新建立一次 Spotlight 索引,例如新恢復的磁盤,或者出於某些情況要重建索引,這個時候就需要我們手動重建 Spotlight 索引了。
下面是使用終端命令重建 Spotlight 索引的方式
$ sudo mdutil -E /
上面的命令可以將Mac下的所有磁盤全部重建索引,包括 Mac 本身的硬盤,磁盤鏡像,還有外接硬盤等。
$ sudo mdutil -E /Volumes/Macintosh\ HD/
上面的命令可以只選擇重建Mac主磁盤 Macintosh HD 的索引
$ sudo mdutil -E /Volumes/External/
上面的命令可以重建某個外接磁盤的索引內容,當然要考慮替換外接磁盤的名字,這裏的名字是 “External”
其實還可以選擇重建某個文件的索引,或者某個文件夾目錄也可以,首先我們需要直到這個文件或者文件夾目錄的路徑,之後替換到下面的命令中就可以了:
$ mdimport /path/to/file
當然,如果你不喜歡用終端,還有一個使用 Spotlight 控制面板完成的小技巧:
在系統偏好設置中打開 Spotlight,之後點“隱私”標簽找到防止搜索,將想要重新檢索的磁盤或者目錄拖拽進來
拖拽進來後選中,點擊下面的“減號”符號,把這個防止的內容再去掉,就可以重建索引了
iOS - Mac 重建 Spotlight 索引