首頁 > 服務器 > 管理維護 > 正文

如何解決dllhost進程消耗CPU100%的問題

2020-10-03 18:03:21
字體:
來源:轉載
供稿:網友

  特征:服務器正常CPU消耗應該在75%以下,而且CPU消耗應該是上下起伏的,出現這種問題的服務器,CPU會突然一直處100%的水平,而且不會下降。查看任務管理器,可以發現是DLLHOST.EXE消耗了所有的CPU空閑時間,管理員在這種情況下,只好重新啟動IIS服務,奇怪的是,重新啟動IIS服務后一切正常,但可能過了一段時間后,問題又再次出現了。

  直接原因:

  有一個或多個ACCESS數據庫在多次讀寫過程中損壞,微軟的MDAC系統在寫入這個損壞的ACCESS文件時,ASP線程處于BLOCK狀態,結果其他線程只能等待,IIS被死鎖了,全部的CPU時間都消耗在DLLHOST中。

  解決辦法:

  最簡單的辦法是使用文件醫生,自動查找并修復所有有問題的文件,請參考:

  http://7i24.com/serverdoctor/filedoctor.htm

  另一個辦法是:

  安裝“一流信息監控攔截系統”,使用其中的“首席文件檢查官IIS健康檢查官”軟件,

  啟用”查找死鎖模塊”,設置:

  ;--wblock=yes

  ;監控的目錄,請指定您的主機的文件所在目錄:

  ;--wblockdir=d: est

  監控生成的日志的文件保存位置在安裝目錄的log目錄中,文件名為:logblock.htm

  停止IIS,再啟動“首席文件檢查官IIS健康檢查官”,再啟動IIS,“首席文件檢查官IIS健康檢查官”會在logblock.htm中記錄下最后寫入的ACCESS文件的。

  過了一段時間后,當問題出來時,例如CPU會再次一直處100%的水平,可以停止IIS,檢查logblock.htm所記錄的最后的十個文件,注意,最有問題的往往是計數器類的ACCESS文件,例如:”**COUNT.MDB”,”**COUNT.ASP”,可以先把最后十個文件或有所懷疑的文件刪除到回收站中,再啟動IIS,看看問題是否再次出現。我們相信,經過仔細的查找后,您肯定可以找到這個讓您操心了一段時間的文件的。

  找到這個文件后,可以刪除它,或下載下來,用ACCESS2000修復它,問題就解決了!!!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
金玫玫床戏