[rbldnsd] out of memory error

Dave Lugo dlugo at etherboy.com
Mon Oct 14 19:53:00 MSK 2013


On Mon, 14 Oct 2013, Michael Tokarev wrote:
>
> That isn't very large, I don't think.  Provided your binary
> is 64bits ofcourse - this is obviously over the top for 32bit
> userspace.  Other than that it should work.  Is it 64bits?
>

Looks like it's 64:

[root at server]# file /usr/local/sbin/rbldnsd
/usr/local/sbin/rbldnsd: ELF 64-bit LSB executable, x86-64, version 1 
(SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not 
stripped
[root at server]#


> But I really question this usage.  While for storing IP addresses
> rbldnsd is good, maybe it isn't that good for arbitrary domains.
> I never tried to optimize it much in this area.
>
> With this amount of data, "reload/query" ratio becomes quite bad.
> I mean, amount of time/resources spent for (re)loading the data
> is large compared with the time/resources used when actually
> answering queries.

The zone itself would be reloaded only once per day.

>
> It looks like you're better off using some on-disk database to
> back up a nameserver.  Maybe pdns with an sql backend, or something
> like that.  This isn't nice to replicate to secondaries when you
> don't run them, but in some cases it should do the trick.
>

Yeah, that's another option.

>
>
> I just did a quick test.
> I created a file with (arbitrary) 52268396 lines containing
> single (unique) word each of 61 byte long (generated using
> perl one-liner).  Total size of this file is 3240640513 bytes.
>
> rbldnsd loaded it fine (but a bit slow):
>
> ~/src/rbldnsd/rbldnsd -n -b 127.0.0.1/1053 foo:dnset:data
> rbldnsd:  listening on 127.0.0.1/1053
> rbldnsd:  dnset:data: 20131014 153959: e/w=52268396/0
> rbldnsd:  zones reloaded, time 42.41e/33.85u sec, mem arena=-923228 free=178 
> rbldnsd:  mmap=816696 Kb
> rbldnsd:  rbldnsd version 0.997a (23 Jul 2013) started (1 socket(s), 1 
> rbldnsd:  zone(s))
>
> Memory reported by top(1) on linux is 3.9Gb (which is ofcourse
> larger than the size of the file, due to simplicity of the
> data structure).
>
> It looks like the memory map report is wrong (32 vs 64 bit number
> is used somewhere), but other than the report itself, it all works.
>


Odd.  Wonder why it's not working for me.  Anything else I can check?

Thanks,

Dave

-- 
--------------------------------------------------------
Dave Lugo   dlugo at etherboy.com    LC Unit #260   TINLC
Have you hugged your firewall today?   No spam, thanks.
--------------------------------------------------------
Are you the police?  . . . .  No ma'am, we're sysadmins.


More information about the rbldnsd mailing list