正常服務器 CPU 波動在 75% 以下。若長期平線 100% 且不下降,必須介入排查。打開任務管理器定位高佔用進程(PID),再對症下藥。
| # | 進程/特徵 | 根因 | 解決方案 |
|---|---|---|---|
| 1 | dllhost.exe 佔滿 CPU,重啟 IIS 臨時緩解,不久復發 | Access 數據庫(常為計數器類 *.mdb)損壞,MDAC 寫入阻塞導致 ASP 線程死鎖,IIS 僵死 | ① 安裝監控工具啟用「查找死鎖模塊」記錄最後寫入文件 ② 停止 IIS,檢查日誌最後 10 個文件,重點排查計數器類 mdb/asp ③ 刪除或用 Access 2000「修復」損壞文件,重啟 IIS 驗證 |
| 2 | svchost.exe 異常高佔用(正常僅 2~4 個實例) | 木馬/病毒劫持 svchost 加載惡意 DLL(如註冊表 Run 鍵掛載偽裝程序、system.ini shell 篡改) | ① 檢查 `win.ini` `[Windows] run/load`、`system.ini` `[BOOT] shell=explorer.exe` 異常項 ② 掃描註冊表 `HKLM\Software\Microsoft\Windows\CurrentVersion\Run` 及 `HKCU` 同路徑,清理不明啟動項 ③ 確認 `svchost.exe` 僅存在於 `C:\Windows\System32`,其他路徑即中毒 ④ 使用第三方進程工具查看命令行參數,正常 svchost 運行服務組名(如 `netsvcs`) |
| 3 | Services.exe 間歇性 100%,機器掛起(Win2000) | `Esent.dll` 刷新文件到磁盤邏輯缺陷 | ① 安裝最新 Win2000 Service Pack (SP4 含修復) ② 或向微軟索取熱修補程序 (KB 相關) |
| 4 | 正常應用程序(備份、掃描、索引等)佔用高 | 程序本身邏輯缺陷、版本過老、配置不當(如全盤掃描無排除目錄) | ① `msconfig` 禁用可疑啟動項逐個驗證 ② 任務管理器定位高佔用 PID → 搜索歸屬程序 → 升級/關閉/替換同類軟件 |
| 5 | 無明顯進程名,或系統進程異常(震盪波、Code Red II 等蠕蟲) | 病毒、木馬、間諜軟件在後台掃描、傳播、挖礦 | ① 更新病毒庫全盤掃描 ② 運行 Ad-Aware 等反間諜工具 ③ 關注 `svchost.exe` 異常常為中毒表現 |
| 6 | explorer.exe 佔用 100% | `system.ini` `[BOOT] shell=explorer.exe xxx` 被掛載木馬程序 | ① 恢復 `shell=explorer.exe` 單一值 ② 全盤殺毒清理殘留 |
ASP.NET 設定繼承機制深度解析:Web.config 階層、location 標記與 allowOverride 鎖定
WMI ADAP 無法處理 PerfDisk 性能庫:exctrlst 工具禁用計數器解決
Apache httpd.conf 設定啟用 .htaccess 支援 (AllowOverride All) 完整步驟
Nginx + PHP-FPM (FastCGI) 深度實戰:原理、安裝優化、緩存與故障排查
企業內部部署 WSUS 3.0 (Windows Server Update Services) 完整實作指南
伺服器磁碟空間耗盡導致圖片上傳失敗:一個 df -h 就能查出的真實案例
自建視訊點播站台:Windows Media Services / Helix Server + IIS + 花生殼完整實作