問題背景
高流量網站 (如動易 CMS) 於 IIS 5.0 運行時,w3wp.exe / inetinfo.exe 記憶體持續增長,導致服務掛起或系統不穩。IIS 6.0 內建回收機制,IIS 5.0 需外掛工具。
工具來源
Microsoft 官方釋出 IIS5Recycle,下載連結:Microsoft Download Center (搜尋 IIS5Recycle)
安裝步驟 (非典型安裝,需手動操作)
- 建立目錄:
C:\IIS5Recycle
- 解壓下載檔案至該目錄
- 開啟命令提示字元,切換至
C:\IIS5Recycle
- 安裝服務:
IIS5Recycle /install
- 配置參數:
IIS5Recycle /config → 彈出 GUI 視窗,設定記憶體上限、檢查間隔、日誌路徑等 (全英文介面,選項直觀)
- 服務啟動後自動監控並回收超標進程
配置關鍵參數建議
- 記憶體閾值: 視實體 RAM 設定,如 4GB 伺服器建議 800-1000 MB
- 檢查間隔: 60-300 秒,平衡偵測靈敏度與 CPU 開銷
- 日誌記錄: 啟用,記錄回收事件便於事後分析
- 動作模式: 「回收進程」而非「重啟服務」,減少中斷時間
進階替代方案
- 升級至 Windows Server 2003 (IIS 6.0) 獲得原生應用程式集區回收
- 使用第三方監控工具 (如 ManageEngine、Nagios) 腳本化重啟
- 程式碼層面優化:釋放未關閉物件、啟用輸出快取、減少 Session In-Proc 使用
驗證方式
- 工作管理員觀察
inetinfo.exe 記憶體曲線,應呈現鋸齒狀 (增長 → 回收 → 下降)
- 事件檢視器 → 應用程式日誌,篩選來源
IIS5Recycle 確認回收紀錄
- 網站持續可用,無 500/503 錯誤