leak of the vnodes

Petr Salinger Petr.Salinger at seznam.cz
Tue Apr 6 07:50:45 UTC 2010


>> I would expect that sum of mnt_nvnodelistsize should be vfs.numvnodes.
>> The sum is at about 3400, but the vfs.numvnodes is at about 38000.
>> Is my expectation correct ?
> Not quite, reclaimed vnode is removed from mp list.

Are they in some other list ?

> Can you check
> that vmstat -z | grep VNODE output coincides with sysctl vfs.numvnodes ?

I would say yes:

kern.maxvnodes: 31000
kern.minvnodes: 2000
vfs.freevnodes: 21
vfs.wantfreevnodes: 2000
vfs.numvnodes: 31011
debug.vnlru_nowhere: 261

ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES
VNODE:                    480,        0,    30999,      777,   248903,        0
VNODEPOLL:                112,        0,       80,       85,       80,        0

But still:

0xffffff0003939be0 /dev/ad0s2a on / (ufs)
 	mnt_nvnodelistsize = 570

0xffffff000393a000 devfs on /dev (devfs)
 	mnt_nvnodelistsize = 41

0xffffff0003939000 /dev/ad0s2d on /opt/sid/build (ufs)
 	mnt_nvnodelistsize = 52

There is 30000 vnodes somewhere.

> Also, can you unmount linprocfs before the test and see whether it
> leaks as before ?
> Another thing to try is set sysctl debug.disablefullpath to 1.

Done both before this test, still "hangs/leaks":

vfs.cache.numfullpathfound: 29075
vfs.cache.numfullpathfail4: 0
vfs.cache.numfullpathfail2: 0
vfs.cache.numfullpathfail1: 0
vfs.cache.numfullpathcalls: 29075
debug.disablefullpath: 1

Petr



More information about the freebsd-hackers mailing list