特征:服務器正常CPU消耗應該在75%以下,而且CPU消耗應該是上下起伏的,出現(xiàn)這種問題的服務器,CPU會突然一直處100%的水平,而且不會 下降。查看任務管理器,可以發(fā)現(xiàn)是DLLHOST.EXE消耗了所有的CPU空閑時間,管理員在這種情況下,只好重新啟動IIS服務,奇怪的是,重新啟動 IIS服務后一切正常,但可能過了一段時間后,問題又再次出現(xiàn)了。
直接原因:
有一個或多個ACCESS數(shù)據(jù)庫在多次讀寫過程中損壞,微軟的MDAC系統(tǒng)在寫入這個損壞的ACCESS文件時,ASP線程處于BLOCK狀態(tài),結果其它線程只能等待,IIS被死鎖了,全部的CPU時間都消耗在DLLHOST中。
解決辦法:
安裝“一流信息監(jiān)控攔截系統(tǒng)”,使用其中的“首席文件檢查官IIS健康檢查官”軟件,
啟用”查找死鎖模塊”,設置:
--wblock=yes
監(jiān)控的目錄,請指定您的主機的文件所在目錄:
--wblockdir=d: est
監(jiān)控生成的日志的文件保存位置在安裝目錄的log目錄中,文件名為:logblock.htm
停止IIS,再啟動“首席文件檢查官IIS健康檢查官”,再啟動IIS,“首席文件檢查官IIS健康檢查官”會在logblock.htm中記錄下最后寫入的ACCESS文件的。
過了一段時間后,當問題出來時,例如CPU會再次一直處100%的水平,可以停止IIS,檢查logblock.htm所記錄的最后的十個文件,注 意,最有問題的往往是計數(shù)器類的ACCESS文件,例如:”**COUNT.MDB”,”**COUNT.ASP”,可以先把最后十個文件或有所懷疑的文 件刪除到回收站中,再啟動IIS,看看問題是否再次出現(xiàn)。我們相信,經(jīng)過仔細的查找后,您肯定可以找到這個讓您操心了一段時間的文件的。
找到這個文件后,可以刪除它,或下載下來,用ACCESS2000修復它,問題就解決了。www.seozs.cn
dllhost進程造成CPU使用率占用100%