閩人

筆者近日在使用Photoshop、AutoCAD等軟件處理圖片時電腦非??D,通過任務管理器排查發現在后臺有一個名為“Svchost.exe”的進程占用了大量的CPU和內存資源(圖1)。那“Svchost.exe”是干什么用的?它為何會占用大量的資源,我們又該如何解決這個問題呢?下面筆者就分享一下解決該問題的過程,供大家參考。
根據微軟官方技術文檔的解釋,“Svchost.exe”是一類通用的進程名稱,與運行動態鏈接庫的Windows系統服務相關。在Windows 10中很多服務都是通過該進程進行加載的,所以當我們打開任務管理器后會在后臺發現多個“Svchost.exe”進程。如果要查看某個“Svchost.exe”進程加載的是哪個系統服務,只要在圖1所示的窗口中右擊該進程并選擇“轉到服務”,在打開的窗口中會自動定位到其所加載的服務。右擊該服務的名稱并選擇“打開服務”(圖2),即可轉到服務管理窗口,我們可以在該窗口中根據服務名稱來查看“Svchost.exe”進程的實際運行路徑。比如在圖2所示的窗口中雙擊WlanSvc服務,在打開的“屬性”窗口中可以看到其可執行文件的路徑是“C:\WINDOWS\ system32\svchost.exe -kLocalSystemNetworkRestricted -p”(圖3)。
針對這種明確的服務描述和文件,我們可以直接判斷或搜索問題之所在。比如有些電腦升級到Windows 10后由于聲卡的兼容性問題,會導致“Svchost.exe”所加載的Audiosrv服務(音頻服務)出現異常,解決的方法是升級聲卡驅動。
如上所述,“Svchost. exe”是通用的進程名稱,因此當我們在任務管理器中發現某個“Svchost.exe”進程占用系統資源過高時就需要找到其對應的服務。比如在圖1所示的界面中右擊某個CPU資源占用過高的“Svchost.exe”進程并選擇“轉到服務”,可以看到它所對應的服務是“cbdhsvc_47b23”,服務描述為“ 剪貼板用戶服務_47b23”(圖4)。
那么它是一個什么服務呢?筆者通過微軟官網查詢后知道,類似“服務名稱_隨機數字”這樣的服務,是在用戶登錄系統后隨機創建的,并且每次關機后自動清除(為便于描述,文中將這類服務稱之為“個人服務”)。根據圖4所示的服務描述,再結合遇到問題時的使用環境(多是在使用Photoshop、AutoCAD復制大型圖片時發生),筆者判斷可能是剪貼板中的文件容量過大,導致該服務未產生響應,由于它只是為剪貼板提供服務,這里可以先嘗試將其停止或禁用看能否解決問題。

返回圖4 所示的窗口,選中“cbdhsvc _ 47b23”后點擊下面的“打開服務”按鈕,但在服務管理窗口中卻沒有找到該服務。不過我們知道,系統中的所有服務都是通過注冊表加載的,因此還可以借助注冊表編輯器對它們進行設置。啟動注冊表編輯器后,依次展開到[HKEY_ LOCAL _MACHINE\SYSTEM\Cur rentControlSet \Ser vices],找到“cbdhsvc_47b23”服務所對應的鍵值,在右側的窗格中將“Start”項的“數值數據”設置為“4”(即禁用)(圖5)。接著在空白處右擊并依次選擇“新建→DWORD(32位)值”,將“數值名稱”設置為“UserServiceFlags”、“數值數據”設置為“0”(圖6)。
完成所有的設置后重啟電腦,發現使用Photoshop、AutoCAD復制大型圖片時未出現“Svchost.exe”進程占用CPU資源過高的問題,至此,順利地解決了該問題。
在Windows 10中類似的描述不太明確的“個人服務”還有很多,大家可以參照下圖的說明自行進行設置(圖7)。