
因為我的筆記型電腦風扇無緣無故地旋轉,我查看了 CPU 使用率,發現 svchost
CPU 為 12.5%,這基本上是一個完整的核心。
現在,我知道 svchost
運行服務,並且知道如何在任務管理器或進程資源管理器中顯示它運行的服務(如這裡所述)。
現在我知道哪些服務正在運行,但我不知道哪個服務佔據了CPU時間。我可以停用一項又一項服務,但我真的不喜歡這樣做(它可能會破壞當前正在使用的東西,並且我可能會忘記稍後重新打開服務)。
因此我想知道是否可以指示 Windows每個只運行一項服務svchost
下次我啟動電腦時。雖然我可能會遇到多個進程的輕微缺點,但我可以立即找出它是哪一個,並且可以更輕鬆地決定是否停止或重新啟動服務。
答案1
複製自http://windowsitpro.com/windows-server/configure-service-run-its-own-svchost-process
在管理員命令提示字元下執行以下命令(命令是為Windows更新服務編寫的)
sc 設定 wuauserv 類型 = 自己
使 Windows 更新服務在單獨的svchost
進程中運作。
筆記: 等號和數值之間需要有空格。
更新:sc config wuauserv type= own
在 Windows 10 上執行會導致 Windows 更新無法正常運作。
答案2
您可以使用流程瀏覽器或者流程駭客顯示過程的屬性svchost
。轉到“線程”選項卡,這裡兩個工具都會顯示呼叫所屬服務的列。
在此圖中,一些 CPU 使用率來自 IP Helper 服務。
在裡面Windows 10 RS2 自 Build 14942 開始構建如果您使用記憶體超過 3.5GB 的 PC,微軟會再次隔離每個服務,以便您可以輕鬆查看哪個服務屬於哪個svchost
進程:
如果您的電腦有 3.5+ GB 內存,您可能會注意到任務管理器中的進程數量增加。雖然這項變革乍看之下可能令人擔憂,但許多人會很高興找出這項變化背後的動機。隨著預安裝服務數量的成長,它們開始在 Windows 2000 中分組為稱為服務主機 (svchost.exe) 的進程。由於這些年來可用記憶體的急劇增加,服務主機節省記憶體的優勢已經減弱。
答案3
好的,同意@AEonAX 的答案對於這個問題來說非常準確。
但是,如果有興趣,有一個更詳細、也更複雜的用於進程樹等的分析工具 WPT,由 magicandre1981 針對我的案例建議 ->WUDFHost.exe 持續佔用 12-20% CPU
這是它的基本描述,在案例中使用它的詳細資訊可以在線程本身上檢查。
安裝WPT(Win10 SDK的一部分:dev.windows.com/en-us/downloads/windows-10-sdk),執行WPRUI.exe,選擇“第一級”,在資源下選擇CPU使用率並點擊啟動現在捕獲1 分鐘的CPU 使用情況。分享連結。