Microsoft Compatibility Telemetry 磁碟使用率 100% 怎麼辦
工作管理員裡的「Microsoft Compatibility Telemetry」就是 C:\Windows\System32 下的 CompatTelRunner.exe,由一個排程工作啟動,用來檢查這台電腦上的軟體和驅動程式能不能相容更新版本的 Windows,它執行時要讀大量檔案,在傳統硬碟或本來就很忙的固態硬碟上,能把磁碟使用率頂到 100% 好幾分鐘。大多數時候先讓它跑完一次,再決定要不要調整它的排程時間或診斷資料設定。
它是被誰啟動的
微軟講相容性掃描記錄的文章點了這個元件的名,Microsoft Compatibility Appraiser 以排程工作 \Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser 的形式執行,把結果寫到 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags 底下,同一篇文章還說,評估處理程序每次掃描都會寫入並更新相容性資訊,Windows 拿這些資訊判斷升級到新版本時會不會和已安裝的東西衝突。
所以磁碟在忙的是讀取,不是往碟裡塞東西。離開電腦時開始的一次掃描,回來時可能還沒結束,剛裝完一個大型軟體或剛更新過 Windows,要看的東西也會更多。
先確認是它在佔用磁碟
按 Ctrl + Shift + Esc 開啟工作管理員,依磁碟排序,找 Microsoft Compatibility Telemetry。到「詳細資料」索引標籤加上「命令列」這個資料行(在資料行標題上按右鍵,選擇「選取資料行」),確認程式是 C:\Windows\System32\CompatTelRunner.exe,同名檔案出現在別的位置就不是 Windows 元件,用 Windows 安全性掃一下。
想看它在讀什麼,在開始功能表輸入 resmon 開啟資源監視器,切到「磁碟」索引標籤,勾選 CompatTelRunner.exe,下面的「磁碟活動」會列出檔案和讀取速度,Program Files 裡的程式資料夾、驅動程式存放區和應用程式套件都是正常的讀取對象。
想看它多久跑一次,開啟工作排程器,依序展開 工作排程器程式庫 › Microsoft › Windows › Application Experience,選取 Microsoft Compatibility Appraiser,「上次執行時間」「下次執行時間」兩個資料行和「觸發程序」索引標籤就是這台電腦上的排程。
先讓它跑完一次
電腦別關,等幾分鐘,掃描結束後處理程序會退出,磁碟曲線也會落回去。如果每天都在不合適的時間跑,那是排程時間的問題,不是故障。
如果 Compatibility Telemetry 已經退出,磁碟還是 100%,原因在別處,可以看工作管理員裡磁碟 100%。這次掃描顯得特別重,最常見的原因是傳統硬碟,同樣的讀取在固態硬碟上幾乎感覺不到,在傳統硬碟上就能讓磁碟一直忙著。
選擇傳送給微軟多少診斷資料
Windows 11 給一般使用者的診斷資料只有兩個層級,必要和選用,微軟的診斷資料說明裡寫的是必要(以前叫基本)和選用(以前叫完整),並說明以前的「增強」這個層級在 Windows 11 上已經沒有了。只想傳送必要的部分,開啟 設定 › 隱私權與安全性 › 診斷與意見反應,關掉「傳送選用診斷資料」,公司或學校的電腦可能由原則統一設定,這時頁面會提示某些設定由組織管理。
這個開關改的是傳給微軟的內容,別指望單靠它就能讓相容性評估工作不再按排程執行。
可以停用這個工作,但有代價
自己管理的電腦,可以在工作排程器裡對 Microsoft Compatibility Appraiser 按右鍵,選擇「停用」,以後想恢復再選「啟用」。代價是 Windows 不再更新這台電腦的相容性記錄,而推送功能更新之前它要靠這份記錄判斷,微軟論壇上也有使用者說功能更新之後這個工作又變回了啟用,所以功能更新後再看一眼,別預設它一直是關著的。
比停用更溫和的是改觸發時間,「觸發程序」索引標籤能看到它什麼時候執行,晚上不關機的電腦,掃描就在沒人用的時候做完了。改了工作的話,記下改了什麼,方便以後改回去。
不要這樣做
- 不要刪除或重新命名
CompatTelRunner.exe,它是歸 TrustedInstaller 所有的 Windows 元件,刪它要先取得系統檔案的擁有權,後面的更新或修復還可能把它裝回來。 - 不要為了停一個掃描就跑一次關掉幾十個服務和工作的「精簡」指令碼,改了什麼自己都記不清,有些改動還會弄壞 Windows Update。
- 不要在工作管理員裡反覆結束這個處理程序,下一次排程執行還會把它拉起來,被打斷的掃描下次還得重做。
Mole 能做什麼
Mole for Windows 不會改診斷資料設定,也不會動 Windows 自己的排程工作,它的啟動項目清單只列 \Microsoft\Windows 以外的工作,所以 Compatibility Appraiser 根本不會出現在那裡讓你關。它執行的時候,「狀態」頁面的處理程序清單會顯示 Microsoft Compatibility Telemetry 和它的 CPU、記憶體用量,在這一列的選單裡選「為什麼在執行?」,能看到程式檔案和啟動它的處理程序,「在檔案總管中顯示」會開啟它所在的資料夾,正好做上面那一步位置檢查。因為它是從 Windows 資料夾執行的,Mole 不會給它提供「結束」。工作管理員裡別的名字,可以看 Windows 處理程序逐個解釋。
常見問題
Microsoft Compatibility Telemetry 是病毒嗎?
真正的程式是 C:\Windows\System32 下的 CompatTelRunner.exe,由 Microsoft Compatibility Appraiser 排程工作啟動,同名檔案出現在別的位置就用防毒軟體掃一下。
Microsoft Compatibility Telemetry 為什麼磁碟用量這麼高?
它要讀已安裝的程式和驅動程式,更新 Windows 的相容性記錄,在傳統硬碟上,這些讀取能讓磁碟保持 100% 好幾分鐘,直到這次掃描結束。
可以停用 Microsoft Compatibility Telemetry 嗎?
自己的電腦可以在工作排程器裡停用 Microsoft Compatibility Appraiser 工作,以後也能重新啟用,代價是 Windows 不再更新功能更新前要用的相容性資料。
關掉選用診斷資料能讓它不再執行嗎?
這樣只會讓 Windows 傳送必要的診斷資料,單靠這個開關不會讓排好的相容性評估停下來。