fadvise memory leak in FreeBSD 8.3-RELEASE
From pfSense forum http://forum.pfsense.org/index.php/topic,59249.0.html :
Apparently there is a memory leak in the posix_fadvise function in FreeBSD 8.3-RELEASE which has been fixed in the 8-STABLE mainline. My nanoBSD system has leaked 5MB in a couple of days of uptime:
vmstat -m | grep fadvise
fadvise 164447 5139K - 164447 32
That would become significant when a 256MB nanoBSD system is up for a month. After rebooting, the fadvise usage starts back at 1K and slowly increases.
FreeBSD 8.3 release notes have references to posix_fadvise - http://www.freebsd.org/releases/8.3R/relnotes-detailed.html
This FreeBSD forum thread has some symptoms etc - http://forums.freebsd.org/showthread.php?p=192718
and this thread indicates that RRDtool uses posix_fadvise, running up kernel memory leaks - http://oss.oetiker.ch/rrdtool/forum.en.html#nabble-td7580539
and the fix (claimed) is here - http://svnweb.freebsd.org/base?view=revision&revision=234661
Can someone see if this is a good fix, is worth doing and is possible to patch into the pfSense FreeBSD 8.3?
I am happy to pre-test a build with this in it, if needed.
#2 Updated by Phillip Davis about 6 years ago
From a system before upgrade:
9:02AM up 2 days, 16:19, 2 users, load averages: 1.56, 1.87, 1.32
[2.1-BETA1]/root(1):vmstat -m | grep fadvise
fadvise 56389 1763K - 56389 32
and demonstrating that the leak can be seen straight after a reboot:
9:29AM up 7 mins, 2 users, load averages: 0.30, 1.22, 0.86
[2.1-BETA1]/root(3): vmstat -m | grep fadvise
fadvise 118 4K - 118 32
After upgrading to Sun Feb 24 15:44:36 EST 2013:
9:52AM up 1:28, 3 users, load averages: 0.24, 0.59, 0.68
[2.1-BETA1]/root(2): vmstat -m | grep fadvise
fadvise 0 0K - 2008 32
Leak is plugged! Thanks for the quick action.