[nsd-users] memory leak in 4.0.x
will at edgecast.com
Mon Feb 17 17:30:35 UTC 2014
I have been tracing what appears to be the same issue on my end for a month
or two (NSD 4.0.1 on a 64bit Ubuntu Linux 12.04 machine). I have built a
test harness that reloads a single one-record-zone as fast as it can,
capturing the memory utility, memory maps, etc of the parent and xfrd
processes coupled with system slab allocator statistics.I have seen large
multipliers in RAM utilization of the parent process between where it
started and where it was at the latest sample. Another problem is that the
time a reload takes skyrockets. I can observe the reload time taking 40x or
more time than when the daemon freshly started. I am also restarting
servers periodically -- which fixes both the memory consumption and the
reload time issues.
In my testing, I see that the memory growth does eventually start into a
upper-bounded saw-tooth function. Given that the memory growth does seem
bounded (although it seems to use far too much ram) -- and I profiled NSD
repeatedly with valgrind and saw no memory leak -- I have been pursuing
this as a potential memory fragmentation issue. However, looking at
slabinfo while running my test harness, I am seeing multiple hundred
times multipliers (400-500x from where it started) on the
shared_policy_node and the anon_vma node after thousands of reloads.
I have data from this test harness (and the harness available if needed)
for review. At this point, does anyone have any input on this?
On Feb 17, 2014 5:07 AM, "Andreas Schulze" <sca at andreasschulze.de> wrote:
> I found my two of my name servers are consuming more and more memory over
> NSD is supervised and started by "/usr/sbin/nsd -c
> /var/lib/nsd/etc/nsd/nsd.conf -d"
> I have remote-control and chroot enabled. The server handle only one zone.
> Zone data updates are "pushed" by a bind master more then 1000 times per
> day (it's a dnsbl zone)
> There is also a rbldnsd on the same host but I assume it's unrelated to
> the problem.
> * nsd-4.0.0.png shows the problem on server #1
> * nsd-4.0.1.png shows my tests on server #2:
> In week 3,4 and 5 it was a nsd-4.0.0. A daily cronjob called "killall nsd".
> (NSD is restarted by the supervisor every time)
> In week 6 I updated to nsd-4.0.1 and stopped the daily "killall nsd"
> I think there is a little amount of memory not released somewhere in NSD.
> But I have no idea how to find the memory leak.
> nsd-users mailing list
> nsd-users at NLnetLabs.nl
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nsd-users