Windows Modules Installer Worker CPU 佔用高怎麼辦
Windows Modules Installer Worker 佔用 CPU 很高,多數時候是 Windows 正在安裝或清理更新,TiWorker.exe 是 Windows Modules Installer 服務(服務名稱 TrustedInstaller)啟動的工作程序,負責新增、修改和移除更新與選用功能,Patch Tuesday、功能更新或新裝一個選用功能之後,這份工作會在一段時間裡同時吃 CPU 和磁碟。大部分情況下該做的就是接著電源,讓它跑完,等 Windows 提示時再重新啟動。
只有同樣的活動每次重新啟動後都回來、Windows Update 幾個小時沒有進展,或者更新一直失敗,這才算問題,這時要修的是工作程序讀取的元件存放區,而不是把程序停掉。下面照微軟給的順序,講怎麼分辨這兩種情況,以及該執行什麼。
TiWorker.exe 和 TrustedInstaller 是什麼
微軟的服務參考裡列出了 Windows Modules Installer,服務名稱是 TrustedInstaller,說明是它「enables installation, modification, and removal of Windows updates and optional components」,也就是負責安裝、修改和移除 Windows 更新與選用元件。它的啟動類型是手動,所以平時大多不在執行,只有在有維護工作時才出現。工作管理員的處理程序頁裡,它顯示為 Windows Modules Installer Worker,詳細資料頁裡則是檔名 TiWorker.exe。
這個工作程序屬於服務堆疊,微軟的服務堆疊頁面把服務堆疊描述為「the component that installs Windows updates」,它建立在元件型服務(CBS)之上,DISM、系統檔案檢查程式、開啟或關閉 Windows 功能以及元件修復也都在它底下跑。所以同一個程序忙起來的原因,從外面看可能毫不相干,可能是每月更新,可能是你剛加的功能,也可能是 Windows 在整理舊版本元件。
它為什麼會在這些時候飆高
| 觸發原因 | 什麼時候發生 | 你會看到什麼 |
|---|---|---|
| 每月安全性更新 | 每月第二個星期二 | 先下載,接著是很長的安裝階段和一次重新啟動 |
| 選用預覽更新 | 每月第四週,只有你選擇安裝才會裝 | 同樣的過程,碰到的人比較少 |
| 年度功能更新 | 每年一次,在下半年 | 跑得最久,常常跨過不只一次重新啟動 |
| 新增選用功能 | 你在設定裡按下新增之後 | 下載一完成,工作程序就開始跑 |
| 元件清理 | 電腦閒置時 | 你離開時有活動,回來時有時還在跑 |
這些日期來自微軟的發行週期頁面,每月安全性更新也叫 Patch Tuesday 或 Update Tuesday,在每月第二個星期二發行,通常是太平洋時間上午 10 點,而且是累積更新,每一個都帶著之前所有的修正。從 2021 年 2 月起,服務堆疊更新被併進這個累積更新,所以要裝的是一個合併的套件,不再是兩個。
選用功能走的也是同一條路,微軟的選用功能指南說新增它們要透過 Windows Update,裝置需要連網下載內容。所以在設定 › 系統 › 選用功能裡加東西,或者在開啟或關閉 Windows 功能裡打開某個功能,即使沒有待裝的更新,也會把工作程序帶起來。
閒置時的飆高通常是元件清理,微軟的 WinSxS 清理頁面介紹了 StartComponentCleanup 工作,它在系統沒人用時清理元件,某個元件更新安裝後至少等 30 天才移除舊版本,並且有一小時的逾時。在工作排程器的工作排程器程式庫 › Microsoft › Windows › Servicing 底下看得到它,微軟也強烈建議不要停用元件清理。如果你真正在意的是它能清理出多少磁碟空間,清理 WinSxS 資料夾講了 DISM 的幾個參數,以及 /ResetBase 要付出什麼代價。
分辨正在進行和卡住
判斷出問題之前,先看三樣東西。
- Windows Update 本身。 開啟設定 › Windows Update,頁面上如果是一個在動的百分比、一個待處理的重新啟動,或者「檢查更新」底下什麼也沒列,你就知道現在在哪個階段。依照微軟的 Windows Update 常見問題,設定 › Windows Update › 更新記錄裡列著裝了什麼、哪些失敗了。
- 觀察幾分鐘工作管理員。 按
Ctrl + Shift + Esc,先按 CPU 排序,再按磁碟排序,工作程序在 CPU 和磁碟之間來回切換然後慢慢退下去,就是在正常工作。記下它持續多久,而不是峰值多高,更新後幾分鐘到一小時都正常,功能更新還要更久。 - 可靠性監視器。 執行
perfmon /rel(微軟的perfmon參考裡有這個參數的說明),連續幾天都有更新安裝失敗,是陷入循環而不是長工作最明顯的訊號。
想看細節的話,服務記錄檔在 %windir%\Logs\CBS\CBS.log,它很大,而且工作程序執行時一直在寫,所以只讀,不要編輯或刪除。記錄檔最後幾行一直在變,就表示工作還在進行,哪怕設定裡的百分比還沒動。
用電池的筆電要多說一句,常見問題裡建議筆電和平板不用時也接著電源,這樣在使用時間以外安裝更新時電力夠它跑完,更新疑難排解文章也把接上電源並連網列為第一項檢查。用電池時安裝老是停下來,看起來像卡住,其實是這份工作一直沒拿到它需要的時間。
真的卡住了怎麼辦
照順序一項項來,哪一步解決了就停。
接上電源等一次。 讓電腦接著交流電並連網,能關的都關掉,給它一小時不睡眠,很多「卡住」其實是一個累積更新被闔上螢幕打斷了兩次。
重新啟動一次。 微軟的疑難排解文章建議重新啟動,確保沒有別的應用程式擋著更新,有「更新並重新啟動」就用開始 › 電源 › 更新並重新啟動,然後再看一次設定 › Windows Update。重新啟動一次就夠,不要在安裝中途反覆重新啟動。
執行 Windows Update 疑難排解員。 在 Windows 11 上,同一篇文章首先指向取得協助應用程式裡的自動疑難排解員,手動的路徑是設定 › 系統 › 疑難排解 › 其他疑難排解員,再按 Windows Update 旁邊的執行。Windows 10 上是設定 › 更新與安全性 › 疑難排解 › 其他疑難排解員 › Windows Update。文章也提到升級 64 位元系統至少需要 20 GB 可用空間,所以重試前先確認 C 槽有空間。
只有下載一直失敗時才去看下載快取。 清空 C:\Windows\SoftwareDistribution\Download 治的是下載損壞,不是工作程序太忙,而且在更新安裝時這麼做不安全,刪除 Windows Update 檔案講了什麼時候適用,以及怎麼先停掉服務。
修復元件存放區,先 DISM 再 SFC
如果更新反覆失敗,工作程序又一直回到同一份工作上,它安裝所用的檔案可能已經損壞。微軟的系統檔案檢查程式文章把順序寫得很清楚,先跑 DISM,再跑系統檔案檢查程式。以系統管理員身分開啟命令提示字元,執行:
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
DISM 拿 Windows Update 當作替換檔案的來源,所以要保持連網,文章說可能要幾分鐘,網路慢的話更久。sfc /scannow 接著拿修好的元件存放區去核對受保護的系統檔案。如果想先知道到底需不需要修,微軟的映像修復指南介紹了 /CheckHealth,它會回報映像是正常、可修復還是無法修復,還有 /ScanHealth,是一次更長的掃描,要幾分鐘:
Dism /Online /Cleanup-Image /CheckHealth
SFC 的結果也寫進同一個 CBS.log,只想把它自己的那幾行拿出來,SFC 文章給的指令是:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"
這些指令只做修復,不會刪掉你裝的任何東西,所以沒什麼需要復原的。如果 Windows Update 本身壞了,DISM 跑不完,SFC 文章介紹了把 /Source 指向一個正常的 Windows 安裝或 Windows 安裝媒體,再加上 /LimitAccess。
不要做的事
- 不要停用 Windows Modules Installer 服務。 微軟自己的說明寫著,停用之後,Windows 更新的安裝或解除安裝可能失敗,CPU 是降下來了,修補也沒了。
- 不要為了停掉工作程序去停用 Windows Update。 工作程序還負責選用功能和元件修復,電腦不再修補,修補還是得做,工作只是堆到後面。
- 不要在工作管理員裡結束 TiWorker.exe。 安裝到一半停掉它,更新就只套用了一半,長工作就是這樣變成失敗循環的。
- 不要在更新安裝時刪
SoftwareDistribution,也不要為了刪檔案去取得C:\Windows\WinSxS的擁有權,微軟警告過,從 WinSxS 裡刪檔案可能讓電腦無法開機或無法更新。 - 更新重新啟動快完成時不要斷電。 微軟的常見問題說重新啟動是完成安裝的一部分,就算花點時間也讓它跑完。
Mole 能做什麼
Mole for Windows 不改 Windows Update、TrustedInstaller 服務,也不改清理排程。它的最佳化頁裡有一個叫「檢查並修復系統檔案」的工作,呼叫 Windows 自己的映像維護 API,拿到和 DISM /CheckHealth 一樣的正常、可修復或無法修復的結論,最多 30 天一次。映像可修復時,結果裡會把「修復系統檔案」當作單獨一步給出來,跑的是同樣從 Windows Update 還原的修復,並標明最多大約要 30 分鐘。檢查和修復都要系統管理員權限,電量低時會拒絕修復,寫入前還會再檢查一次磁碟。另一個工作「重設卡住的更新下載」會在 Windows Update 正在安裝或等待重新啟動時先等著,說明頁裡說進行中的更新可能讓部分維護往後延,指的就是這個。
從視窗左上角的 Mole 標誌開啟的系統診斷,會在 Windows 等著重新啟動來完成更新安裝時提示出來,電腦連續開了好幾天、又有 Windows 程序卡在高 CPU 上時,也會建議重新啟動。不是維護工作造成的高 CPU,看 Windows CPU 使用率過高。
常見問題
Windows Modules Installer Worker 是病毒嗎?
正版程序是 TiWorker.exe,由 Windows Modules Installer 服務(TrustedInstaller)啟動,用來安裝更新和選用功能。在工作管理員裡對它按右鍵,選開啟檔案位置,它應該在 Windows 資料夾裡面。
TiWorker.exe 佔用 CPU 高會持續多久?
每月更新後,通常在安裝和隨後那次重新啟動裡就會平下來,功能更新要更久。電腦閒置時的活動多半是元件清理工作,一小時後會自己停。
能停用 TrustedInstaller 來解決 CPU 佔用高嗎?
不安全。微軟說停用它會讓 Windows 更新的安裝或解除安裝失敗,讓工作跑完,重新啟動一次,如果它還反覆回來,再用 DISM 和 SFC 修復。
TrustedInstaller 為什麼會讓磁碟使用率很高?
安裝更新或新增功能時,要往元件存放區寫很多檔案,同時讀取被取代的舊檔案,在慢的或快滿的硬碟上,這就顯示成磁碟 100%,磁碟這一側的問題看工作管理員裡磁碟 100%。