我有一台运行 AD DS、DNS 角色的 Windows Server 2012 R2 物理服务器。DNS 服务器进程经常开始消耗大量内存。
在Task Manager > Details > Analyze wait chain
-我可以看到以下消息:
“dns.exe 的一个或多个线程正在等待完成网络 I/O。“
如果我运行 Process Explorer,我可以看到一堆线程:
由于上述问题 - 用户会遇到名称解析问题。
一旦 DNS 服务器服务重新启动,问题就会消失一段时间。
是否有任何已知的解决办法?
UPD1:
服务器总共有 8GB RAM 和 2 个 vCPU。
DNS 服务器进程使用 1.7GB 的 RAM 和 40-60% 的 CPU。
DNS 查询数量每秒从 40 到 100 个不等。
以下是过去 2.5 小时的统计数据:
答案1
听起来这个修复程序可能会对你有帮助 https://support.microsoft.com/en-us/kb/3082532
假设您在 Active Directory 林中基于 Windows Server 2012 R2 的计算机上运行 Microsoft DNS 服务。您注意到基于 Windows Server 2012 R2 的 DNS 服务器上的 DNS 服务消耗的内存量不断增加,然后发生内存泄漏。此外,DNS 的内存泄漏可能会影响在同一台计算机上运行的其他组件、服务和应用程序的性能。
DNS 修补程序有此先决条件 https://support.microsoft.com/en-us/kb/2919355