Hi Antti,
This is certainly a problem, and I'm sure the developers will be happy
to investigate it with you.
However, I'd like to suggest that you don't use the database mode. If
you set:
database: ""
in your nsd.conf, then nsd will load the zone from the zonefile into
RAM, and won't bother compiling the nsd.db file. You don't really gain
anything with the database file, and I've been advocating for the
database mode to be dropped completely in future versions of nsd.
By the way, if you or the developers find the problem, please do let us
know here, because I'm also curious about it.
Regards,
Anand
On 06/02/2018 09:08, Antti Ristim?ki wrote:> Hello,
>
> We have an installation, where NSD (version 4.1.19) acts as a hidden master
for the public DNS servers. NSD has only one large zone configured and the zone
is periodically signed every 20 minutes and after each re-signing,
"nsd-control reload <zone>" is given so that the NSD process
reloads the new zone from the zonefile and notifies the slaves. However, we
noticed that the database memory usage increases after every reload, finally
resulting in memory allocation failure. We stat the memory usage by running
"nsd-control stats_noreset" every minute and in the graph [1] one can
see the increase in size.db.mem after each reload. We don't see similar
behaviour with for example xfrd process memory usage.
>
> We have worked around the issue by restarting the NSD process periodically,
but do you have any ideas about the possible root cause and a more long term
solution?
>
> [1] http://nxdomain.fi/NSD_db_mem.png