httperr 日誌大量出現 Connections_Refused。當可用非分頁集區記憶體 < 20 MB 時,HTTP.sys 停止接受新連線,回傳 Connections_Refused。非分頁集區位於實體記憶體,不可分頁至磁碟,核心驅動程式大量配置且未釋放即導致耗盡。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
新增 DWORD:EnableAggressiveMemoryUsage = 1
重啟 HTTP 服務:
net stop http /y
iisreset /restart
此設定讓 HTTP.sys 更激進地使用記憶體,僅緩解症狀,未解決洩漏源頭。
poolmon.exe。poolmon -b 依位元組降序排列,找出持續增長的 Tag(如 Thre)。findstr /s /m /l "Thre" C:\Windows\System32\drivers\*.sys。實戰案例中 Thre 對應 rsravmon.sys(瑞星)與 360fs.sys(360衛士),確認為殺毒軟體驅動洩漏。
Accept 不 Receive,客戶端持續傳送資料導致核心緩衝堆積。Connections_Refused 是 HTTP.sys 保護機制的表象,真兇通常是核心模式驅動程式非分頁集區洩漏。Poolmon + findstr 是定位元兇的標準組合拳。生產環境建議:
1. 僅安裝必要的殺毒/防護軟體。
2. 定期監控 Non-paged Pool 趨勢(PerfMon Counter: Memory\Pool Nonpaged Bytes)。
3. 驅動程式保持最新版本。