Suddenly slow lstat syscalls on CURRENT from Juli

Kostik Belousov kostikbel at gmail.com
Sat Jan 1 17:26:41 UTC 2011


On Sat, Jan 01, 2011 at 05:59:10PM +0100, Beat G?tzi wrote:
> On 01.01.2011 17:46, Kostik Belousov wrote:
> > On Sat, Jan 01, 2011 at 05:42:58PM +0100, Beat G?tzi wrote:
> >> On 01.01.2011 17:12, Kostik Belousov wrote:
> >>> On Sat, Jan 01, 2011 at 05:00:56PM +0100, Beat G?tzi wrote:
> >>>> On 01.01.2011 16:45, Kostik Belousov wrote:
> >>>>> Check the output of sysctl kern.maxvnodes and vfs.numvnodes. I suspect
> >>>>> they are quite close or equial. If yes, consider increasing maxvnodes.
> >>>>> Another workaround, if you have huge nested directories hierarhy, is
> >>>>> to set vfs.vlru_allow_cache_src to 1.
> >>>>
> >>>> Thanks for the hint. kern.maxvnodes and vfs.numvnodes were equal:
> >>>> # sysctl kern.maxvnodes vfs.numvnodes
> >>>> kern.maxvnodes: 100000
> >>>> vfs.numvnodes: 100765
> >>>>
> >>>> I've increased kern.maxvnodes and the problem was gone until
> >>>> vfs.numvnodes reached the value of kern.maxvnodes again:
> >>>> # sysctl kern.maxvnodes vfs.numvnodes
> >>>> kern.maxvnodes: 150000
> >>>> vfs.numvnodes: 150109
> >>> The processes should be stuck in "vlruwk" state, that can be
> >>> checked with ps or '^T' on the terminal.
> >>
> >> Yes, there are various processes in "vlruwk" state,
> >>
> >>>> As the directory structure is quite huge on this server I've set
> >>>> vfs.vlru_allow_cache_src to one now.
> >>> Did it helped ?
> >>
> >> No, it doesn't looks like setting vfs.vlru_allow_cache_src helped. The
> >> problem was gone when I increased kern.maxvnodes until vfs.numvnodes
> >> reached that level. I've stopped all running deamons but numvnodes
> >> doesn't decrease.
> > Stopping the daemons would not decrease the count of cached vnodes.
> > What you can do is to call unmount on the filesystems. Supposedly, the
> > filesystems are busy and unmount shall fail, but it will force freed
> > the vnodes that are unused by any process.
> 
> That freed around 1500 vnodes. At the moment the vfs.numvnodes doesn't
> increase rapidly and the server is usable. I will keep an eye it to see
> if I run into the same problem again.
This is too small amount of vnodes to be freed for the typical system,
and it feels like a real vnode leak. It would be helpful if you tried
to identify the load that causes the situation to occur.

You are on the UFS, right ?
-------------- 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-current/attachments/20110101/d2566892/attachment.pgp


More information about the freebsd-current mailing list