
在相當長一段時間(幾個月)內,我的系統進程間歇性地遇到了一些高 CPU 使用率的問題。最近,它在 Windows 運行的所有時間都存在。每秒執行兩次 procexp 取樣,系統進程似乎在 0% 和 ~40%(即一個核心的大部分)之間振盪,週期為兩秒。
我正在運行 Vista Business 32 位元和 Norton Internet Security。在 sysinternals 論壇上發布後,我現在卸載了諾頓,以防可能有所幫助,但這沒有什麼區別。我當然可以提供可能有用的系統的其他詳細資訊。
我想我現在已經做了盡可能多的診斷,而沒有尋求更多專家的建議。使用 procexp,我可以看到 ntkrnlpa 受到牽連,並按照此處的說明進行操作http://rfvicente.spaces.live.com/blog/cns!5228FAA8B79B6EB1!590.entrykernrate 告訴我 KiDispatchInterrupt 佔該模組內命中率的 84%。
那現在怎麼辦?從這些事實中我能看出什麼?看起來它可能與驅動程式有關,但我不知道它可能是什麼驅動程序,而且我寧願重新安裝 Windows,而不是花很長時間來診斷問題。
如果有人對哪種驅動程式或其他因素可能導致此問題提出建議,我們將不勝感激。
答案1
每當我看到類似的問題時,我都能夠使用 RegMon 或 FileMon 來追蹤它,因為當我小心翼翼地不啟動任何應用程式時,錯誤的進程是唯一活動的。
如果它正在使用 CPU 資源,那麼它也可能正在使用其他資源。這可以幫助追蹤事情。
就我而言,罪魁禍首是編寫得不好的驅動程式- 例如,顯示器“驅動程式”每秒檢查幾次以查看顯示器是否已旋轉為縱向方向,HTC 同步驅動程式每秒檢查兩次是否存在USB連結一部手機。
供應商的名稱顯示在檔案路徑或登錄項目中,這有助於確定原因。停用系統通知區域中的關聯項目確認了罪魁禍首(例如右鍵單擊並選擇退出 - 活動消失。)
答案2
我已將問題排除在 Vostro 中的「Broadcom 440x 10/100 整合控制器」網路介面卡上。我目前的驅動程式是 4.60.0.0,日期為 2007 年 3 月 28 日...不記得我是否或何時更改了它;我很確定問題並不是直接導致的。唔。只是在這裡為後代的 Google 員工提供一些希望有用的信息(向在 sysinternals 上發現完全相同內容的任何人致歉)。我會盡快找到另一個不存在此問題的驅動程式。