mds_stores和mdworker
又稱:mds,Spotlight索引
簡短回答
mds、mds_stores和mdworker是建立和維護Spotlight搜尋索引的macOS程序。mds是後設資料伺服器,mdworker程序則負責掃描檔案、讀取其內容和後設資料,讓它們能被搜尋到。
Spotlight會為你的檔案、App、郵件和其他資料保留一份本機索引,讓搜尋很快就有結果。加入或更改檔案,或連接磁碟時,mdworker會讀取它們,mds和mds_stores則會更新索引。
在macOS更新後、遷移到新Mac後、從備份回復後,或拷貝大量檔案進來時,大量索引是正常的。索引更新完成後就會平靜下來。
mds_stores為什麼使用這麼多CPU
索引所需的CPU和磁碟活動,與需要索引的量成正比。為一整個裝滿的磁碟重新建立索引可能要花上一段時間。不斷變動的檔案夾,例如建置輸出、大型快取或虛擬機器映像檔,只要持續變動,就會讓Spotlight一直忙個不停。
同時有好幾個mdworker程序是正常的。Spotlight會執行多個程序來平行掃描檔案。
如何讓Spotlight不索引某個檔案夾
打開「系統設定」,前往「Spotlight」(部分版本為「Siri與Spotlight」),按一下「搜尋隱私權」,然後加入該磁碟或檔案夾。Spotlight就會停止索引它,也不再於搜尋結果中顯示。
適合排除的是你從不搜尋、又經常變動的檔案夾,例如建置目錄、套件快取,或存放虛擬機器的檔案夾。
什麼時候該重建索引
如果索引似乎永遠做不完,或搜尋結果不正確,Apple建議重建索引:把該磁碟或檔案夾加入「搜尋隱私權」列表,等幾秒鐘,再將它移除。Spotlight會重新索引該位置,mds_stores也會因此忙上一陣子。
如何查看Spotlight是否正在製作索引
活動監視器會顯示相關程序,「終端機」則能告訴你某個磁碟是否開啟了索引功能。
- 在活動監視器中,按一下「CPU」標籤頁,然後在搜尋欄位中輸入
md。你會看到mds、mds_stores,以及一個或多個mdworker或mdworker_shared程序。 - 觀察它們的「% CPU」一分鐘。很低或為零,表示Spotlight處於閒置。持續有活動,表示它還在處理檔案。
- 按一下「磁碟」標籤頁,看同樣這些程序的「讀取的位元組」欄位。製作索引會讀取大量資料,所以數字一直增加,就表示掃描還在進行。
- 在「終端機」中執行
mdutil -s /,查看啟動磁碟的索引狀態。如果Spotlight設定為替該磁碟製作索引,它會顯示Indexing enabled.。想查看其他磁碟,就把/換成它的路徑,例如/Volumes/Backup。
Spotlight製作索引要多久?
這要看有多少檔案需要製作索引、磁碟有多快,以及Mac同時在忙多少其他工作。替大型磁碟製作完整索引,比補上幾個變更過的檔案要久得多;同一台Mac可能某天很快就完成,在大量拷貝或macOS更新之後卻要好幾個小時。
更值得問的是它有沒有進展。如果mds_stores和mdworker在幾個小時內逐漸安靜下來,就快完成了。如果它們日復一日都很忙,不是有東西不停在更改檔案,就是索引需要重建。
索引一直做不完的常見原因
如果在更新或移轉之後很久,Spotlight仍然很忙,就去找一個一直在變動的位置。
- 經常被重寫的建置輸出、
node_modules或套件快取。 - 使用中會不斷變動的虛擬機器磁碟映像檔或大型資料庫。
- 另一個App不停寫入的檔案夾,例如下載或同步檔案夾。
- 經常接上又退出的外接磁碟機,每次裝載時Spotlight都會檢查它。
- 索引已損壞,這時從「搜尋隱私權」重建索引會有幫助。
不要做的事
不要為了省CPU而替整個啟動磁碟關閉Spotlight。其他功能也依賴這份索引,包括在Finder、「郵件」和其他App中搜尋。只排除你不需要搜尋的檔案夾就好。
結束mdworker或mds_stores並不會停止製作索引,因為macOS會再啟動它們,它們也會從中斷的地方繼續。如果你開啟了Vitals的選用輔助程式,它依程序保存、最長一年的歷史記錄,能讓你輕鬆看出索引是在逐漸收尾,還是每天都捲土重來。
大家常問的問題
Mac上的mds_stores是什麼?
它是維護Spotlight搜尋索引的程序之一,屬於macOS的一部分。
mdworker為什麼一直在執行?
mdworker會為Spotlight掃描新增和更改過的檔案。在更新、遷移之後,或大量檔案變動時,它會頻繁執行,等索引跟上後就會安靜下來。
結束mds_stores安全嗎?
結束它幫助不大,因為macOS會再次啟動它,索引也會繼續。若要讓某個位置不被索引,請在Spotlight設定中將它加入「搜尋隱私權」。
mdworker_shared是什麼?
它是較新版本macOS中Spotlight工作程序的名稱。和mdworker一樣,它會掃描檔案,並把找到的內容交給mds編入索引。
怎麼知道Spotlight索引已經做完?
在活動監視器中,mds_stores和mdworker程序的CPU用量降到很低或為零,並維持不變。它們在「磁碟」標籤頁中的「讀取的位元組」也不再增加。
Spotlight會替外接磁碟機製作索引嗎?
會,只要接上就會,除非你把它們加入「搜尋隱私權」。執行mdutil -s /Volumes/DriveName可以查看某個磁碟機的索引狀態。
相關詞條
逐步教學:Mac為什麼這麼慢。
想找比活動監視器更好的工具?請參閱Mac上最好用的活動監視器替代方案,或瀏覽詞彙表中的所有詞條。