Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows XP CPU 佔用率 100% 兩大經典案例深度剖析與解決方案

編輯:Windows XP 系統介紹

案例一:dllhost.exe 導致 CPU 100% — 損壞的 Access 資料庫惹的禍

現象

伺服器 CPU 正常應低於 75% 且波動,但突然持續維持 100% 不降。工作管理員顯示 DLLHOST.EXE 佔用所有 CPU 時間。重啟 IIS 暫時恢復,但過段時間復發。

根本原因

一個或多個 Access 資料庫(.mdb)在多次讀寫後損壞。MDAC 在寫入損壞的 Access 檔案時,ASP 執行緒進入 BLOCK 狀態,導致其他執行緒等待,IIS 陷入死結,所有 CPU 時間被 DLLHOST 佔用。

解決方案

  1. 安裝監控工具(如「首席檔案檢查官 IIS 健康檢查官」),啟用「查找死結模組」,設定監控目錄(如 D:\test)。
  2. 停止 IIS → 啟動監控工具 → 重新啟動 IIS。
  3. 問題復發時停止 IIS,查看日誌 logblock.htm 記錄的最後寫入 Access 檔案(通常是計數器類,如 **COUNT.MDB)。
  4. 刪除或下載修復(用 Access 2000 開啟修復)該損壞檔案,問題即解決。

案例二:svchost.exe 導致 CPU 100% — 木馬病毒偽裝成系統服務

排查步驟

  1. 檢查啟動項:
    win.ini 中 [Windows] 區段的 run=、load=;
    system.ini 中 [BOOT] 區段的 shell=(正確應為 explorer.exe);
    登錄檔 HKLM\Software\Microsoft\Windows\CurrentVersion\Run 及 HKCU\...\Run 下的可疑啟動項。
  2. 辨識偽裝檔名:木馬常用相似檔名欺騙,如 expiorer.exe(缺少 l)偽裝 explorer.exe,「Code Red II」蠕蟲病毒利用 IIS 漏洞植入 root.exe 後門。
  3. 處理:刪除可疑啟動項與檔案,更新防毒軟體全盤掃描,修補系統漏洞(如安裝 IIS 修補程式)。

防範建議

  • 定期備份 Access 資料庫,避免長期高頻寫入導致損壞。
  • 保持系統與防毒軟體更新,啟用防火牆,不輕信不明來源程式。
  • 伺服器環境建議部署入侵偵測系統(IDS)與應用層防火牆(WAF)。
Copyright © Windows教程網 All Rights Reserved