Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Windows Server 系統教學 >> Server 2003

解決 tcpsvcs.exe 佔用極大虛擬記憶體 (1.9GB) 問題:DHCP DNS 動態更新導致

編輯:Server 2003

Windows Server 2003 企業版 SP2 作為 DHCP + 檔案共享伺服器,tcpsvcs.exe 進程虛擬記憶體持續增長至 1.9GB (正常 <10MB)。重啟 DHCP 服務暫時恢復,次日復發。根因:Dnsapi.dll 記憶體管理缺陷,開啟 DHCP「DNS 動態更新」觸發洩漏。

故障現象

  • 📈 tcpsvcs.exe 虛擬記憶體從 10MB 暴增至 1.9GB。
  • 🔄 重啟 DHCP 服務 (net stop DHCPServer && net start DHCPServer) 立即恢復正常。
  • 📅 24 小時後再次暴增,週期性發生。

根因分析

  1. tasklist /svc 確認 tcpsvcs.exe 僅關聯 DHCPServer 服務。
  2. 微軟知識庫 KB939928:Dnsapi.dll 未正確管理記憶體資源,開啟 DHCP「依設定啟用 DNS 動態更新」導致洩漏。
  3. 關閉 DNS 動態更新後問題消失,確認符合 KB 描述。

解決方案

方法一:停用 DHCP DNS 動態更新 (無內部 DNS 需求環境)

  1. 執行 dhcpmgmt.msc 開啟 DHCP 管理主控台。
  2. 右鍵 DHCP 伺服器節點 → 「內容」→「DNS」索引標籤。
  3. 取消勾選 「依設定啟用 DNS 動態更新」 → 確定。
  4. 重啟 DHCP 服務:net stop DHCPServer && net start DHCPServer。

方法二:安裝微軟熱修補補丁 (有內部 DNS 動態更新需求環境)

  1. 訪問 KB939928。
  2. 點擊頁面頂部 「可用熱修補補丁程式」 → 跳轉下載頁面。
  3. 選擇正確版本 (Windows Server 2003 SP1/SP2、x86/x64) → 輸入信箱 → 收取下載連結。
  4. 下載安裝補丁 → 重開機驗證。

方案選擇建議

場景建議方案風險
純 DHCP 分發 IP,無內部 DNS 域名解析需求方法一:停用 DNS 動態更新零風險,徹底解決
需將 DHCP 客戶端主機名/IP 同步至內部 DNS (如 host.domain.local 解析)方法二:安裝熱修補補丁需確認版本完全匹配,安裝前備份/快照
不確定是否需 DNS 動態更新先嘗試方法一觀察業務影響,再決定可逆操作

補充驗證

應用修復後,連續監控 tcpsvcs.exe 虛擬記憶體 7 天,穩定維持在 10-20MB 範圍,無復發跡象。

Copyright © Windows教程網 All Rights Reserved