Rumen Telbizov
2014-Sep-29 18:58 UTC
10.1-BETA2 possible kernel memory leak in routing table
Hello everyone,
I have recently upgraded one of our main firewalls from FreeBSD 9.2
to10.1-BETA2 (r271983). It has been running in production since last
Thursday and overall I am pretty happy with it and seeing significant
improvements in performance.
However I do notice this morning that the *wired* portion of the memory has
been steadily growing over the weekend and is now over a few gigabytes.
Here's a graph:
[image: Inline image 2]
The switchover was done on late 25th when production traffic started
flowing through it. I checked vmstat -m and noticed that the *routetbl* is
pretty large - 2.8GB and keeps on growing. Here's a few minutes worth of
monitoring it:
# while true; do date; vmstat -m | grep routetbl; sleep 60; done
Type InUse MemUse HighUse Requests Size(s)
Mon Sep 29 18:27:55 UTC 2014
routetbl 5988792 2888491K - 14285826 32,64,128,256,512,2048
Mon Sep 29 18:28:55 UTC 2014
routetbl 5990120 2889131K - 14288972 32,64,128,256,512,2048
Mon Sep 29 18:29:55 UTC 2014
routetbl 5991448 2889771K - 14292352 32,64,128,256,512,2048
Mon Sep 29 18:30:55 UTC 2014
routetbl 5992776 2890411K - 14295464 32,64,128,256,512,2048
Mon Sep 29 18:31:55 UTC 2014
routetbl 5994104 2891051K - 14298576 32,64,128,256,512,2048
Mon Sep 29 18:32:55 UTC 2014
routetbl 5995432 2891691K - 14301904 32,64,128,256,512,2048
Mon Sep 29 18:33:55 UTC 2014
routetbl 5996096 2892011K - 14303624 32,64,128,256,512,2048
Mon Sep 29 18:34:55 UTC 2014
routetbl 5997422 2892650K - 14306980 32,64,128,256,512,2048
Mon Sep 29 18:35:55 UTC 2014
routetbl 5998750 2893290K - 14310092 32,64,128,256,512,2048
Mon Sep 29 18:36:55 UTC 2014
routetbl 6000078 2893930K - 14313204 32,64,128,256,512,2048
Mon Sep 29 18:37:55 UTC 2014
routetbl 6001406 2894570K - 14316532 32,64,128,256,512,2048
Mon Sep 29 18:38:55 UTC 2014
routetbl 6002734 2895210K - 14319644 32,64,128,256,512,2048
Mon Sep 29 18:39:55 UTC 2014
routetbl 6004062 2895850K - 14323024 32,64,128,256,512,2048
Mon Sep 29 18:40:56 UTC 2014
routetbl 6004726 2896170K - 14324745 32,64,128,256,512,2048
Mon Sep 29 18:41:56 UTC 2014
routetbl 6006054 2896810K - 14327857 32,64,128,256,512,2048
Mon Sep 29 18:42:56 UTC 2014
routetbl 6007382 2897450K - 14331185 32,64,128,256,512,2048
Mon Sep 29 18:43:56 UTC 2014
routetbl 6008710 2898090K - 14334297 32,64,128,256,512,2048
As you can see for this interval it grew 9599K (2898090-2888491). The
routing table does not change at all on this machine. netstat -rn | wc -l
reports 145 entries all the time. As a comparison on the old, inactive
FreeBSD 9.2 firewall I have:
# vmstat -m | grep routetbl
routetbl 451 98K - 7336488 32,64,128,256,512,1024
Here are some configuration details of the system.
loader.conf:
autoboot_delay="3"
zfs_load="YES"
vfs.root.mountfrom="zfs:zroot/freebsd10"
vfs.zfs.arc_max="500M"
kern.geom.label.gptid.enable="0"
hw.ix.num_queues="12"
hw.ix.txd="4096"
hw.ix.rxd="4096"
sysctl.conf:
# CARP related
net.inet.carp.allow=1
net.inet.carp.preempt=1
net.inet.carp.log=2
# Stop sending ICMP redirects
net.inet.ip.redirect=0
# Fast Forwarding
net.inet.ip.fastforwarding=1
# Enable better lacp/lagg transmit distribution
net.link.lagg.default_use_flowid=0
I could provide additional debug information upon request. Your help is
appreciated.
Regards,
--
Rumen Telbizov
Unix Systems Administrator <http://telbizov.com>
Alexander V. Chernikov
2014-Sep-30 13:03 UTC
10.1-BETA2 possible kernel memory leak in routing table
On 29.09.2014 22:58, Rumen Telbizov wrote:> Hello everyone, > > I have recently upgraded one of our main firewalls from FreeBSD 9.2 > to10.1-BETA2 (r271983). It has been running in production since last > Thursday and overall I am pretty happy with it and seeing significant > improvements in performance. > > However I do notice this morning that the *wired* portion of the memory has > been steadily growing over the weekend and is now over a few gigabytes. > Here's a graph: > > [image: Inline image 2] > > The switchover was done on late 25th when production traffic started > flowing through it. I checked vmstat -m and noticed that the *routetbl* is > pretty large - 2.8GB and keeps on growing. Here's a few minutes worth of > monitoring it: > > > # while true; do date; vmstat -m | grep routetbl; sleep 60; done > > Type InUse MemUse HighUse Requests Size(s) > Mon Sep 29 18:27:55 UTC 2014 > routetbl 5988792 2888491K - 14285826 32,64,128,256,512,2048 > Mon Sep 29 18:28:55 UTC 2014 > routetbl 5990120 2889131K - 14288972 32,64,128,256,512,2048 > Mon Sep 29 18:29:55 UTC 2014 > routetbl 5991448 2889771K - 14292352 32,64,128,256,512,2048 > Mon Sep 29 18:30:55 UTC 2014 > routetbl 5992776 2890411K - 14295464 32,64,128,256,512,2048 > Mon Sep 29 18:31:55 UTC 2014 > routetbl 5994104 2891051K - 14298576 32,64,128,256,512,2048 > Mon Sep 29 18:32:55 UTC 2014 > routetbl 5995432 2891691K - 14301904 32,64,128,256,512,2048 > Mon Sep 29 18:33:55 UTC 2014 > routetbl 5996096 2892011K - 14303624 32,64,128,256,512,2048 > Mon Sep 29 18:34:55 UTC 2014 > routetbl 5997422 2892650K - 14306980 32,64,128,256,512,2048 > Mon Sep 29 18:35:55 UTC 2014 > routetbl 5998750 2893290K - 14310092 32,64,128,256,512,2048 > Mon Sep 29 18:36:55 UTC 2014 > routetbl 6000078 2893930K - 14313204 32,64,128,256,512,2048 > Mon Sep 29 18:37:55 UTC 2014 > routetbl 6001406 2894570K - 14316532 32,64,128,256,512,2048 > Mon Sep 29 18:38:55 UTC 2014 > routetbl 6002734 2895210K - 14319644 32,64,128,256,512,2048 > Mon Sep 29 18:39:55 UTC 2014 > routetbl 6004062 2895850K - 14323024 32,64,128,256,512,2048 > Mon Sep 29 18:40:56 UTC 2014 > routetbl 6004726 2896170K - 14324745 32,64,128,256,512,2048 > Mon Sep 29 18:41:56 UTC 2014 > routetbl 6006054 2896810K - 14327857 32,64,128,256,512,2048 > Mon Sep 29 18:42:56 UTC 2014 > routetbl 6007382 2897450K - 14331185 32,64,128,256,512,2048 > Mon Sep 29 18:43:56 UTC 2014 > routetbl 6008710 2898090K - 14334297 32,64,128,256,512,2048 > > As you can see for this interval it grew 9599K (2898090-2888491). The > routing table does not change at all on this machine. netstat -rn | wc -l > reports 145 entries all the time. As a comparison on the old, inactive > FreeBSD 9.2 firewall I have: > > # vmstat -m | grep routetbl > routetbl 451 98K - 7336488 32,64,128,256,512,1024Can you show route -Arn output ? Can you disable carp and see if this changes anything?> > Here are some configuration details of the system. > > loader.conf: > autoboot_delay="3" > zfs_load="YES" > vfs.root.mountfrom="zfs:zroot/freebsd10" > vfs.zfs.arc_max="500M" > kern.geom.label.gptid.enable="0" > hw.ix.num_queues="12" > hw.ix.txd="4096" > hw.ix.rxd="4096" > > sysctl.conf: > # CARP related > net.inet.carp.allow=1 > net.inet.carp.preempt=1 > net.inet.carp.log=2 > > # Stop sending ICMP redirects > net.inet.ip.redirect=0 > > # Fast Forwarding > net.inet.ip.fastforwarding=1 > > # Enable better lacp/lagg transmit distribution > net.link.lagg.default_use_flowid=0Are you sure this is really "better" ?> > > I could provide additional debug information upon request. Your help is > appreciated. > > Regards,