ANNOUNCEMENT: NSD 1.3.0 alpha 1
erik at NLnetLabs.nl
Mon Sep 22 08:00:04 UTC 2003
Michael Richardson wrote:
>>>>>>"Erik" == Erik Rozendaal <erik at NLnetLabs.nl> writes:
> Erik> CODE CHANGES:
> Erik> - Database can be loaded using mmap(2) (use the
> Erik> --enable-mmap
> Erik> configure option to enable). This is useful on operating
> Erik> systems such as Solaris that do not allow memory
> Erik> overcommit.
> Not to start an overcommit flame war, but why would overcommit ever
> "help" on a DNS server?
When NSD starts it loads the database into memory. After doing so, it
forks of a (configurable) number of child servers to handle UDP and TCP
connections. By default there is a single TCP server and a single UDP
server. The child servers do not modify the database, so the operating
system can share the memory pages between the parent process and the child
process. Unfortunately, systems that do not allow memory overcommit will
reserve memory anyway.
When the database is large (such as .de, which is about 6 gigabytes), this
will result in the usage of 12 gigabyte of additional memory. Even though
this memory is never used, systems that do not support memory overcommit
will have to reserve this amount of space in real or swap memory.
More information about the nsd-users