Mac 上 mediaanalysisd 佔用 CPU 很高,快取能不能刪
如果活動監視器裡 mediaanalysisd 一直排在 CPU 清單前面,或是名為 com.apple.mediaanalysisd 的資料夾越來越大,代表 macOS 正在背景分析圖片和影片。這是 Apple 的媒體分析服務,近幾年的 Mac 都有,多數時候只要手上的工作做完就會自己平靜下來。網路上流傳的兩種常見做法,停用這個服務和刪掉整個容器,都會把已經做完的分析丟掉重來。
這篇會講這個服務在處理什麼、怎麼分辨快做完還是在打轉、哪個資料夾可以安心清掉,以及 2023 年關於它網路連線的那些報告到底查出了什麼。如果變慢是從「照片」資料庫本身開始的,可以看 photoanalysisd 高 CPU 裡資料庫那一側的說明。
mediaanalysisd 在處理什麼
這個行程不屬於某一個 App,macOS 的好幾個部分都會把圖片、影片或文字交給它分析:
| 觸發情況 | 它在做什麼 | 來源 |
|---|---|---|
| 大量匯入、還原資料庫或 macOS 更新之後 | 為「照片」資料庫建立索引,包括「人物與寵物」 | Apple:「照片」可能需要長達數天,並且會在你沒有使用 App 的時候進行分析 |
| 用「快速查看」打開圖片 | 辨識圖片裡文字的「即時文字」,Eclectic Light 的測試中每張圖約一秒 | Eclectic Light,2023 |
| App 把項目加入系統搜尋索引 | 為 Spotlight 做文字嵌入,記錄為 MADTextEmbeddingTask |
Apple Developer Forums |
| Apple Intelligence 的照片功能 | 在背景分析照片內容;9to5Mac 在 macOS 26.5 上看到 50% 到 150% 的 CPU | 9to5Mac,2026 年 6 月 |
最後一列沒有 Apple 的官方說法。9to5Mac 自己的辦法是讓 Mac 整晚插著電,等它跑完。Spotlight 那一列主要和開發者有關:在上面那個論壇討論串裡,模擬器中執行的 iOS App 讓 mediaanalysisd 一直忙,直到模擬器版本跳過 App 的 Core Spotlight 索引呼叫才安靜下來。
快做完還是在打轉
打開活動監視器,選擇檢視 › 所有行程,在搜尋欄輸入 mediaanalysisd。留意三件事:
- 現在的 CPU,一個小時後再看一次。
- 磁碟:寫入的位元組是不是一直在增加。
- 開始之前發生過什麼:macOS 更新、匯入照片、開啟 iCloud 照片,或是新裝了會為內容建立索引的 App。
快做完的工作是一陣一陣的,間隔越來越長。像 9to5Mac 那樣讓 Mac 接著電源、保持喚醒過一夜,隔天早上再比較。打轉的樣子不一樣:沒有新照片、沒有更新、也沒有新 App,同樣的高 CPU 每天都回來,下面那個快取資料夾還不停變大。如果是開發用的 Mac,先把模擬器結束一次;行程要是就此閒下來,原因是正在測試的 App,不是 macOS。
強制結束 mediaanalysisd 只能換來幾分鐘。macOS 會再把它啟動,它接著處理同一份佇列。
會變大的快取資料夾
這個服務把工作用的檔案放在自己的容器裡:
~/Library/Containers/com.apple.mediaanalysisd/Data/Library/Caches
在終端機裡看看它有多大:
du -sh ~/Library/Containers/com.apple.mediaanalysisd/Data/Library/Caches
The Mac Observer 描述了 macOS Sequoia 上的一些錯誤,會讓這個資料夾無限制地長大。如果它有好幾 GB 而且還在增加:
- 重新啟動 Mac,讓服務放開它正在開著的檔案。
- 在 Finder 裡選擇前往 › 前往檔案夾,貼上上面的路徑,把
Caches裡面的項目移到垃圾桶。Caches資料夾本身留著。 - 一天後再看一次大小。分析重新跑起來的時候會長回一些,這是正常的;沒有新媒體卻持續增加,就值得連同 macOS 版本一起回報給 Apple。
另外有兩個地方看起來像,但不是快取。~/Library/MediaAnalysis 放的是已經完成的人物和場景分析結果,刪掉它會讓這部分分析從頭開始。com.apple.mediaanalysisd 容器裡的其餘內容是服務自己的狀態。
不要這樣做
- 不要停用這個服務。 有些教學建議用
launchctl disable或卸載它的 launch agent。這樣會關掉人臉和物件辨識以及「照片」搜尋,而且設定會一直留著,等你忘了原因,只會發現搜尋怎麼找不到東西。 - 不要刪掉整個容器。
rm -rf ~/Library/Containers/com.apple.mediaanalysisd會把服務已經處理過的內容全部重設,完整分析和你想停掉的 CPU 用量都會重新來過。 - 不要為了讓它安靜而刪除「照片」資料庫套件裡的任何東西。 photoanalysisd 指南說明了資料庫真的損毀時 Apple 的修復流程。
關於它的網路連線
2023 年 1 月,有開發者在 macOS Ventura 13.1 上用 Finder 瀏覽圖片時,看到 mediaanalysisd 連到 Apple,並稱之為圖片掃描。其他人也做了測試,Michael Tsai 的整理收集了這些結果:Mysk 解密了流量,發現是一個空的請求,沒有圖片資料或識別碼,後來說這是一個在 13.2 修好的錯誤。Howard Oakley 追查到這個連線是「即時文字」在分析前檢查語言資源,沒有發送圖片識別碼,13.2 之後也沒有變化。
兩個結果都沒有顯示圖片被上傳。真的會送出東西的是「視覺查詢」:用它辨識物件時,Oakley 發現服務會根據圖片算出一個雜湊值,送到 Apple 的伺服器去查詢。這是在你要求查詢的時候發生的,不是行程在背景忙碌的時候。
Mole 能幫什麼
Mole 的清理會把那個 Caches 資料夾裡的項目列為 App 快取與記錄下的 Media Analysis Cache。服務正開著某個檔案時,Mole 會把那一列從這次掃描裡拿掉,不會列出它自己也會拒絕刪除的東西;重新啟動之後再掃描一次即可。容器的其餘部分和 ~/Library/MediaAnalysis 從來不是清理的項目。在分析裡,~/Library/MediaAnalysis 帶有一則說明,講明裡面放的是什麼,所以那裡的大數字看起來是照片和影片的分析資料,而不是一個謎。Mole 不會停止、停用或重新啟動 mediaanalysisd。
常見問題
mediaanalysisd 是病毒嗎?
不是。它是 macOS 的一部分,近幾年的 Mac 都有。它的執行檔位在系統宗卷上,App 無法修改。
為什麼「照片」關著它還在跑?
Apple 把「照片」的分析設計成在你沒有使用 App 時進行,「即時文字」和 Spotlight 也會交工作給它。關掉「照片」並不會結束佇列。
清掉它的快取會刪掉我的照片嗎?
不會。Caches 資料夾放的是工作用的檔案,不是照片,也不是資料庫。之後服務會重新做一部分分析。
更新之後應該跑多久?
Apple 沒有給固定時間;「人物與寵物」的部分,它說最長可能要數天。讓 Mac 接著電源、保持喚醒過一夜,再比較。幾週之後沒有新增任何東西、卻每天出現高峰,才是要回報的情況。