BIND - out of memory
Jan Arild Lindstrøm
jal at telenor.net
Wed Mar 25 06:46:55 UTC 2009
Hi,
more findings ...
BIND 9.6.1b1
No matter what I set in named.conf, it starts to give "out of memory" when recursive
clients pass 1000. I see that 1000 is the default value for recursive-clients.
From "rndc status" on each run, it starts with "out of memory messages" when recursive-clients
passes 1000:
recursive clients: 1029/149900/150000
From named.conf:
clients-per-query 250;
max-clients-per-query 1500;
recursive-clients 50000;
BIND does not allocate space to more than 1000/default clients no matter what is specified in
named.conf?
I tried it against 9.4.3 also (same config), and the same thing happens:
nsXX(root) named-new 948# tail -f named-new.log | grep memory
25-Mar-2009 07:35:00.504 database: adb: fetch of 'ns-kiev.km.ua' A failed: out of memory
25-Mar-2009 07:35:00.505 database: adb: fetch of 'y.ns.verio.net' A failed: out of memory
25-Mar-2009 07:35:00.506 database: adb: fetch of 'dns1.gla.ac.uk' A failed: out of memory
--cut--
recursive clients: 1002/49900/50000
.. it starts output "out of memory" messages when It passes 1000 recursive clients.
So it definitly seems that 1000/default recursive clients is the magic limit regarding the "out of memory"
messages I get.
BIND perhaps allocate space for 1000 recursive-clients, but does not allocate more when named.conf
has another number for it?
Or?
Regards
Jan Arild Lindstrom
At 11:44 24/03/2009, Jan Arild Lindstrøm wrote:
>Hi,
>
>I am running ResPerf from Nominum against BIND 9.6.1b1, and I get a lot of:
>
>--cut--
>24-Mar-2009 08:51:30.495 database: adb: fetch of 'ns2.state.oh.us' A failed: out of memory
>24-Mar-2009 08:51:30.630 database: adb: fetch of 'gz-dns.cncnet.net' A failed: out of memory
>24-Mar-2009 08:51:30.657 query-errors: fetch completed at resolver.c:2908 for 129.83.61.195.in-addr.arpa/PTR in 22.401385: out of memory/success [domain:61.195.in-addr.arpa,referral:2,restart:1,qrysent:0,timeout:0,lame:0,neterr:0,badresp:0,adberr:2,findfail:0,valfail:0]
>24-Mar-2009 08:51:30.672 query-errors: fetch completed at resolver.c:2908 for 211.121.239.211.in-addr.arpa/PTR in 18.586241: out of memory/success [domain:239.211.in-addr.arpa,referral:2,restart:1,qrysent:1,timeout:1,lame:0,neterr:0,badresp:0,adberr:2,findfail:0,valfail:0]
>24-Mar-2009 08:51:30.684 database: adb: fetch of 'iit.rit.ac.th' A failed: out of memory
>24-Mar-2009 08:51:30.685 database: adb: fetch of 'ritk6.rit.ac.th' A failed: out of memory
>24-Mar-2009 08:51:30.708 query-errors: fetch completed at resolver.c:2908 for 118.95.219.66.in-addr.arpa/PTR in 31.293651: out of memory/success [domain:95.219.66.in-addr.arpa,referral:1,restart:3,qrysent:0,timeout:1,lame:0,neterr:0,badresp:0,adberr:0,findfail:0,valfail:0]
>24-Mar-2009 08:51:30.714 query-errors: fetch completed at resolver.c:2908 for 30.126.138.63.in-addr.arpa/PTR in 28.681399: out of memory/success [domain:138.63.in-addr.arpa,referral:1,restart:3,qrysent:0,timeout:1,lame:0,neterr:0,badresp:0,adberr:6,findfail:0,valfail:0]
>24-Mar-2009 08:51:30.715 query-errors: fetch completed at resolver.c:2908 for 161.112.185.194.in-addr.arpa/PTR in 18.591808: out of memory/success [domain:185.194.in-addr.arpa,referral:1,restart:1,qrysent:1,timeout:1,lame:0,neterr:0,badresp:0,adberr:0,findfail:0,valfail:0]
>24-Mar-2009 08:51:30.739 query-errors: fetch completed at resolver.c:2908 for ppp85-141-184-239.pppoe.mtu-net.ru/A in 14.649606: out of memory/success [domain:mtu-net.ru,referral:1,restart:1,qrysent:0,timeout:0,lame:0,neterr:0,badresp:0,adberr:1,findfail:0,valfail:0]
>24-Mar-2009 08:51:30.812 database: adb: fetch of 'tirant.gva.es' A failed: out of memory
>24-Mar-2009 08:51:30.814 database: adb: fetch of 'ns1.pldi.net' A failed: out of memory
>24-Mar-2009 08:51:30.898 database: adb: fetch of 'ns1.corporatecolo.com' A failed: out of memory
>24-Mar-2009 08:51:30.899 database: adb: fetch of 'ns1.gratisdns.dk' A failed: out of memory
>--cut--
>
>What does "database: adb: .. out of memory" mean?
>What does "query-errors: fetch completed at ... out of memory/success" mean?
>
>Solaris 10 on a Sun T5140 with 6 cores/96 threads and 16GB of memory:
> SunOS xxx.xxx.xx 5.10 Generic_138888-01 sun4v sparc SUNW,T5140 Solaris
>
>The named process takes only 170MB:
> Memory: 16G phys mem, 11G free mem, 4104M total swap, 4104M free swap
> 19563 named 99 59 0 171M 169M sleep 1:35 0.00% named
>
>BIND 9.4.3 on the same server (running at the same time as testing 9.6.1b1):
> 10186 named 99 54 0 2990M 2989M cpu/66 5438.0 3.84% named
>
>I tried:
> datasize unlimited;
> stacksize unlimited;
> max-cache-size unlimited;
>
>But it had no effect, I still get just as many "out of memory" lines when running ResPerf.
> resperf -d queryfile-example-3million -e -s <IP address> -m 10000
>
>Plimit reports (on the named process):
> resource current maximum
> time(seconds) unlimited unlimited
> file(blocks) unlimited unlimited
> data(kbytes) unlimited unlimited
> stack(kbytes) unlimited unlimited
> coredump(blocks) unlimited unlimited
> nofiles(descriptors) unlimited unlimited
> vmemory(kbytes) unlimited unlimited
>
>Any hints on what these "out of memory" messages mean would be appreciated.
>
>Thanks
>Jan Arild Lindstrom
>
>_______________________________________________
>bind-users mailing list
>bind-users at lists.isc.org
>https://lists.isc.org/mailman/listinfo/bind-users
More information about the bind-users
mailing list