解決 Windows7 卡卡的方法

in #blog8 years ago (edited)

最近Win7開機後, 老是卡卡, 上網卡卡, 看影片卡卡, 玩遊戲卡卡, 啥麼都卡卡.

心想是不是中毒了, 但掃毒也沒發現.
Google 後發現, 可能是 Windows Update 在作怪, 那就開始來解決他吧!

一. 現象:

1.開機後, 啥都沒做, 在 工作列 點右鍵, 點選 [啟動工作管理員],
在 <處理程序> 按 CPU 排序, 也沒有發現吃 CPU 的東東在跑.
a1

2.但切換到 <效能>, 卻看到吃了 52% CPU 的使用率. 怪怪! 難怪有魔神仔在暗地搞鬼嗎?
a2

3.此時再真正開個東東來用 (我是啟動 Tomcat Web Server), 在 <處理程序> 會發現有吃 47% 的 CPU 資源
a2a

4.切換到 <效能> 一看, 哇! 100% CPU 被吃光了, 也就是由於已被偷吃了 52% 的資源, 所以滿出來了.
a2b

二.先上解決後的結果:

1.在 <處理程序> 會發現我啟動的 Tomcat Web Server 仍然是吃約 50% 的 CPU 資源
a2c

2.切換到 <效能> 看看, 嗯! 不再因為被偷吃而變成 100% 了.
a2d

三.解決過程:

1.在 <效能> 頁籤中按下 [資源監視器] 打開它, 在 CPU 區, 會看到吃最重的 svchost.exe (netsvcs),
沒錯, 就是它在搞鬼, 被偷吃的 50% 就在它肚子裡.
請在它前面的 checkbox 打勾, 讓它保持在最頂列, 以便觀察.
a3

2.我們要打開一個 cmd 命令提示字元 視窗, 記得要 以系統管理員身份執行, 步驟如下:

  • 點 [開始]
  • 在輸入框輸入 cmd
  • 在搜尋出的 cmd.exe 點右鍵
  • 選擇 [以系統管理員身份執行]
    a4

3.注意看打開的 cmd 標題列, 必須有 "系統管理員" 才正確.
a5

4.首先我們來追縱, 看看 svchost.exe (netsvcs) 到底幹了哪些事?
請輸入指令:
tasklist /svc /fi "imagename eq svchost.exe"
a6

5.會發現 PID: 276 對應的 svchost.exe (netsvcs), 他所負責的許多服務項目.
其中就可看到 wuauserv 這一項, 沒錯, 它就是 Windows Update 的服務程序.
a7

6.為了不讓它繼續作怪, 下指令讓它停止運作吧!
請輸入指令:
net stop wuauserv
之後, 你會發現 CPU 使用率瞬間掉到 0%, 神奇吧!
a8

7.這時再去看看 svchost.exe (netsvcs) 他所負責的服務項目, 會發現 wuauserv 不見了.
a9

8.如果你想恢復 Windows Update 的服務程序. 只要再下達啟動指令即可:
net start wuauserv
但它並不會馬上生效, 要等大約 1分鐘, 才會慢慢重新啟動喔!
a11

9.再去檢查 svchost.exe (netsvcs) 他所負責的服務項目, 會發現 wuauserv 又出現了.
a12

四.捷徑

1.如果你不想每次都開 cmd, 然後手動打指令來關掉 Windows Update 服務程序 的話.
那就用記事本寫個 "停止更新.bat" 檔案, 裡面就一句指令, 然後儲存在 桌面, 方便將來點擊使用.
a10

2.由於必須 以系統管理員身份 才能執行停止指令. 因此不能直接左鍵去點2下. 否則只會一閃而逝, 啥都不會發生.
請在 "停止更新.bat" 圖示身上點右鍵, 然後點選 [以系統管理員身份執行], 如此就可成功執行了.
a13

3.會發現 CPU 使用率又掉下來了.
a14

五.結語

1.以上方法只是暫時關閉 Windows Update 機制, 並沒有去更動 Windows Update 的設定,
所以下次重開機, 還是會跑 Windows Update 機制.
畢竟啥時有重要更新並不一定, 所以還是讓它保持能自動更新的狀態, 而不是完全停用.

2.有人提議可砍掉 C:\Windows\SoftwareDistribution 這個目錄, 因為他下面的
C:\Windows\SoftwareDistribution\DataStore\DataStore.edb 檔案, 會越長越大, 我的已經 1,015,872 KB (1GB) 了,
而 svchost.exe (netsvcs) 似乎就是因為常常去存取它, 才造成吃 CPU 資源.
但我試驗結果(更名), 它是會再自動生成一個 C:\Windows\SoftwareDistribution 目錄, 而最後 DataStore.edb 檔案, 也是 1,015,872 KB.
因此只要 svchost.exe (netsvcs) 有在跑, 一樣吃 CPU 資源吃粉大.

Sort:  

Congratulations @byronwei! You have received a personal award!

Happy Birthday - 1 Year
Click on the badge to view your own Board of Honnor on SteemitBoard.

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @byronwei! You have received a personal award!

2 Years on Steemit
Click on the badge to view your Board of Honor.

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @byronwei! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 3 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!