Hi,
I'm using ipvs to loadbalance 4 caching dns servers and having some
problems with memory (slab) usage on the directors. I have 9 vips, so 18
services (tcp & udp) all with the same 4 realservers. Using DR.
Basically the problem is that kernel memory keeps growing until the box
goes OOM.
It looks like enties in connection tracking table are never removed.
In an attempt to limit the no of entries I issue an 'ipvsadm --set 0 0 10'
expecting to see the entries expired (and removed from the table) in 10
seconds. But after more than an hour the backup director (having been
activ only a short time while the primary was rebooted) still has 696526
entries in the table.
This is a dual Xeon(TM) CPU 2.80GHz box and a 'cat ip_vs_conn | wc -l'
takes 8 minutes!!
Some things I don't understand:
Although I do a 'ipvsadm --set 0 0 10' entries in /proc/net/ip_vs_conn
still have larger timeout values (last column right?!)
UDP C3F11870 0504 C3F14D36 0035 0A1F42B4 0035 UDP 59
Then, when continuously 'grepping' for an entry I see that value decrease
to 0... and then - to my suprise - it just jumps back to 59 instead of
disapearing...
This is using a vanilla 2.6.10 kernel.
What's wrong? Or, what am I not understanding?
Rgds,
Mark.
|