IIS 6.0 (Windows Server 2003) 環境下,w3wp.exe 工作進程 CPU/記憶體異常飆高,導致網站回應緩慢或假死。需快速定位是哪個應用程式集區 (AppPool) 對應的進程造成問題。
位於 C:\Windows\System32\iisapp.vbs (或 C:\Inetpub\AdminScripts\iisapp.vbs),以 CScript 執行。
| 指令 | 說明 |
|---|---|
cscript iisapp.vbs -a | 列出所有執行中應用程式集區的 PID 與 AppPoolId |
cscript iisapp.vbs -a <AppPoolName> | 查詢指定集區名稱的 PID |
cscript iisapp.vbs -p <AppPoolId> | 查詢指定集區 ID 的 PID |
w3wp.exe 佔用高 CPU/記憶體,記下其 PID (例:4704)。cd /d %systemroot%\system32
cscript iisapp.vbs -a
輸出範例:
W3WP.exe PID: 2488 AppPoolId: AppPool #26
W3WP.exe PID: 3008 AppPoolId: AppPool #2
W3WP.exe PID: 4704 AppPoolId: AppPool #15 ← 目標進程
W3WP.exe PID: 6388 AppPoolId: AppPool #19
W3WP.exe PID: 6004 AppPoolId: AppPool #8
AppPool #15 即為問題集區,進一步檢查該集區綁定的網站/應用程式代碼、資料庫查詢、無限迴圈等邏輯問題。iisapp.vbs 至 C:\Inetpub\AdminScripts。w3wp.exe,需將網站「應用程式保護」設為「高 (隔離)」,再透過「元件服務」→ 「COM+ 應用程式」→ 「狀態檢視」查看 PID 對應網站。