ANNOUNCEMENT: NSD 1.3.0 alpha 1

Erik Rozendaal erik at
Mon Sep 22 08:00:04 UTC 2003

Michael Richardson wrote:
>>>>>>"Erik" == Erik Rozendaal <erik at> 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 mailing list