3

I have a Windows Server 2012 R2 physical server running AD DS, DNS roles. Very frequently DNS Server process starts consuming a lot of memory.

In Task Manager > Details > Analyze wait chain - I can see the following message:

"One or more threads of dns.exe are waiting to finish network I/O."

enter image description here

If I then run Process Explorer - I can see a bunch of threads:

enter image description here

Due to above problem - users experience name resolution issues.

Once the DNS Server service is restarted - the issue is gone for some time.

Is there any known fix for this?

UPD1:

Server has 8GB of RAM totally and 2 vCPUs.

DNS Server process is using 1.7GB of RAM and 40-60% CPU.

enter image description here

Number of DNS queries varies from 40 to 100 per second.

enter image description here

Here is the statistics for the last 2.5h:

enter image description here

6
  • 1
    Hi ..just some question...How many query per seconds get your server? Is an authoritative DNS , if yes how many objects are inside?How much is your TTL? Commented Nov 19, 2015 at 10:49
  • Yes, the server is authoritative. TTL is 1 hour. I can't precisely tell you the # of queries per second so far. There are about 5k records totally. Commented Nov 19, 2015 at 11:33
  • You need to figure out how and wich Dns query reaching your server i by dumping and tracing the requests for fiveminute in a log ... There's no way before looking for patching and update Commented Nov 19, 2015 at 12:58
  • Do you mean network dump by e.g. WireShark or... ? Commented Nov 19, 2015 at 14:35
  • Yes...to try to sniff... (if you can use an external machine it's much better), the DNS is one of the favourite target in the last years and we had an evidence also in LAN because on large wifi network someone used an infected pc , you need to understand if depend from a microsoft bug, incorrect configuration or external cause. Commented Nov 19, 2015 at 14:42

2 Answers 2

3

Sounds like this hotfix may help you https://support.microsoft.com/en-us/kb/3082532

Assume that you're running Microsoft DNS Services on Windows Server 2012 R2-based computers in an Active Directory Forest. You notice that the DNS service on Windows Server 2012 R2-based DNS servers consumes increasing amounts of memory, and then memory leak occurs. Additionally, the memory leaks by DNS may affect the performance of other components, services, and applications that are running on the same computer.

DNS hotfix has this prerequisite https://support.microsoft.com/en-us/kb/2919355

2

I have a similar issue. The dns.exe (DNS server) in Windows Server 2019 is consuming more than 686 MB. For normal use, that will huge use.

My server was given service to 7 network adapters, so each open connection and socket can consume additional memory.

First, check the socket pool size using cmd or PowerShell (as admin): dnscmd.exe /info /socketpoolsize

example output: Dword: 2500 (000003E8)

I changed to use 1000, you can change to 512, this might help reduce memory usage, but keep in mind it can affect the server's capacity to handle a high volume of traffic. dnscmd.exe /config /socketpoolsize 1000

If the memory usage remains high after these adjustments, it could be useful to review DNS logs.

1
  • A related configuration parameter that may also affect memory usage is the maximum cache size: Set-DnsServerCache -MaxKBSize <uint32> Commented Aug 15 at 9:38

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.