
在本週早些時候更新一些 Windows 8.1 之前,我的筆記型電腦效能從未出現過問題。起初,我認為這可能是某種惡意軟體,所以我運行了各種工具並進行了掃描(花了我很長時間),但沒有發現任何問題,而且筆記型電腦的性能非常糟糕:資料夾、程式和網站加載需要幾分鐘,好像I/O 操作減慢了20 倍,Chrome 說「正在等待快取...」然後我進行了系統還原,這修復了過去的其他類型的問題,但由於某種原因我有一個恢復點,回滾並不能解決問題。
然後我遇到了這個問題: windows 7 在安全模式下速度很快,但在正常模式下速度極慢
正是我的問題,在安全模式下,我可以正常使用一切(但筆記型電腦過熱很多,所以這是一個需要避免的臨時解決方法)!然後按照那裡的建議,我嘗試以調試模式重新啟動,並逐步打開不同的服務,但正如有人建議的那樣,MS 不太可能是導致問題的原因,所以我選擇了所有 Windows 服務並打開了所有服務上...你猜怎麼著,問題又回來了。
所以現在我的問題是,如何找到導致問題的服務以便我可以停用它?有幾種方法可以採用試誤方法,其中許多方法相互依賴...
預先感謝,非常感謝任何幫助!
答案1
使用Windows工作管理員了解 CPU 時間的使用情況(如果有問題)。
- 按CtrlShiftEsc開啟工作管理員。
- 點選細節標籤。
- 點選中央處理器標題按使用時間量排序。
- 通常,服務運行在svchost.exe,並且有許多實例同時運行。尋找違規者的進程 ID (PID),在本例中,1808。
- 點選服務標籤。
- 點選PID標頭按 ID 排序。
- 遺憾的是,在這個例子中,有三項服務在該 ID 下運行,但這至少將問題縮小到其中一個。關一次一個找到罪魁禍首。
微軟(Sysinternals)流程瀏覽器(體育)將提供額外的資訊。特別是,如果問題是由於磁碟 IO 過多造成的,PE 可以顯示磁碟 IO 資訊。
答案2
服務也可能會使用更多內存,從而導致 Chrome 速度變慢,而 Chrome 也需要更多 RAM。若要根據記憶體使用情況過濾服務,請使用以下命令tasklist
:
TaskList /SVC /FI "memusage gt 12345" /FI "imagename eq svchost.exe"
該命令有什麼作用?換句話說,此命令顯示所有服務 ( /svc
),然後過濾掉 ( /fi
) 可執行名稱和記憶體使用量大於 12345 的進程svchost.exe
。要理解完整的命令,請將長命令分成幾個部分:
TaskList /SVC
:顯示所有服務/FI "memusage gt 12345"
:過濾掉記憶體使用量大於12345的進程。/FI "imagename eq svchost.exe"
:過濾掉可執行檔名的進程svchost.exe
。
輸出將是這樣的:
Image Name PID Services
========================= ======== ============================================
svchost.exe 772 BrokerInfrastructure, DcomLaunch,
SystemEventsBroker
svchost.exe 1412 BFE, mpssvc
svchost.exe 1612 Winmgmt
一個進程中可能有多個服務svchost.exe
。從 Windows 10 創意者更新開始,如果機器擁有超過 3.5 GB RAM每個服務都有其單獨的流程。