leak of the vnodes

Kostik Belousov kostikbel at gmail.com
Sat Apr 3 16:52:43 UTC 2010


On Sat, Apr 03, 2010 at 09:16:54AM +0200, Petr Salinger wrote:
> >>Another possible workaround, if you do not need path resolutions in /proc
> >>or lsof(1), is to set sysctl vfs.vlru_allow_cache_src=1.
> >
> >I will test this.
> 
> Does not help.
> 
> kern.maxvnodes: 100000
> kern.minvnodes: 25000
> vfs.vlru_allow_cache_src: 1
> vfs.freevnodes: 199
> vfs.wantfreevnodes: 25000
> vfs.numvnodes: 100038
> debug.vnlru_nowhere: 647

Can you go into single-user mode, and then start unmounting filesystems
one by one, looking at the vfs.numvnodes ? The goal is to determine
which fs caused exhaustion of the vnodes limit.

Then, after you determined the problematic mp, reboot the machine,
redo the procedure causing leak. From ddb prompt, you can do "show mount",
find the mp, then do "show mount <mp address>". The later command shall
produce really large output, listing all mp vnodes, so serial console
or firewire can be useful. Put output somewhere.

Thanks.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20100403/b95968a6/attachment.pgp


More information about the freebsd-hackers mailing list