memory consumption limit?
Kevin Darcy
kcd at daimlerchrysler.com
Sat Sep 10 02:42:50 UTC 2005
How much of that memory is used by the cache, and how much of it is used
by authoritative data (you said this was the configuration from a
slave)? There isn't a lot you can do about the memory consumption of
authoritative data, short of actually deleting records from your zones.
For cache, though, you can, in addition to max-cache and
cleaning-interval -- as you've already tweaked -- play with
max-cache-ttl and max-ncache-ttl, although do so carefully because the
performance impact of lowering your cache hit ratio can be significant.
In theory, one can "model" the impact of playing with max-cache-ttl
and/or max-ncache-ttl somewhat by analyzing cache dumps and querylogs
(anyone care to write a utility to do this?), prior to actually
committing anything to production.
Ultimately, if you find that your authoritative data is squeezing the
amount of memory available for caching, you might want to consider
separating the caching and authoritative nameservice onto different
machines. This separation is recommended for security and other reasons
anyway. Memory usage on an authoritative-only nameserver hardly
fluctuates at all, compared to a caching nameserver, so you'd just need
to size the authoritative-only only box(es) according to how much
authoritative data you have today, plus whatever expansion of hosted
data you expect in the future.
Another possibility is to recompile BIND with threading disabled. It's
possible that a non-multi-threading named might have better memory
characteristics on RedHat.
Then again, you could just buy a memory upgrade for the machine...
- Kevin
P.S. You want a link? Here's a link:
http://john.redmood.com/osfastest.html. I'm not sure who Jeffrey Rothman
and John Buckman are, but they seem to prefer Solaris over RedHat for
running DNS services. As a moderate-to-strong Solaris snob, I tend to
concur :-)
Pavel Urban wrote:
>Hello,
>
>we're running Bind 9.3.1 on RedHat Linux version 3, ES. After several
>days we end up with all memory consumed and DNS nearly unresponsive. We
>have one master and two slaves; this is a part of our configuration from
>one slave:
>
>options {
> directory "/var/named";
> /*
> * If there is a firewall between you and nameservers you want
> * to talk to, you might need to uncomment the query-source
> * directive below. Previous versions of BIND always asked
> * questions using port 53, but BIND 8.1 uses an unprivileged
> * port by default.
> */
> #query-source address * port 53;
> allow-transfer { 194.228.2.61/32; 193.85.7.100/32;
>193.85.1.12/32; 194.228.1.194/32; 194.228.2/24; };
> allow-recursion { 127.0.0.1; 194.228/16; 192.168/16; 172.16/12;
>10/8; 80.188/16; 83.208/16; 85.70/15; };
> notify yes;
> recursion yes;
> max-transfer-time-in 8;
> transfer-format one-answer;
> transfers-in 80;
> transfers-out 80;
> transfers-per-ns 40;
> coresize default;
> max-cache-size 200M;
> files 1024;
> stacksize default;
> cleaning-interval 30;
> interface-interval 0;
> recursive-clients 50000;
>};
>
>
>This is 'top' output from the same machine:
>
>46 processes: 44 sleeping, 2 running, 0 zombie, 0 stopped
>CPU states: cpu user nice system irq softirq iowait idle
> total 58.2% 0.0% 1.9% 0.5% 1.5% 5.9% 31.5%
>Mem: 511736k av, 505212k used, 6524k free, 0k shrd, 2988k
>buff
> 385208k actv, 72524k in_d, 9404k in_c
>Swap: 1052248k av, 486172k used, 566076k free 8668k
>cached
>
> PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND
>22312 named 25 0 473M 435M 1136 R 59.6 87.2 3610m 0 named
>22314 named 15 0 473M 435M 1136 S 0.3 87.2 209:11 0 named
>
>
>Can you give me a tip what to tweak, or a link to the proper article/web
>page? Thanks!
>
>
>
More information about the bind-users
mailing list