Re: ZFS vnode starvation with large kmem_size

From: Pawel Jakub Dawidek <pjd_at_FreeBSD.org>
Date: Fri, 13 Apr 2007 10:42:38 +0200
On Thu, Apr 12, 2007 at 01:23:18PM +0900, Hidetoshi Shimokawa wrote:
> Hi Pawel,
> 
> I observed vnode starvation with large kmem_size in loader.conf.
> It seems that even if zfs eats vnodes up to maxvnodes,
> vnodes cannot be reclaimed and vnlru kthread will give up.
> As far as I understand, the problem comes from difference
> of name cache mechanism. I attached a patch for a workaround.
> 
> How to repeat:
>   arch: amd64 or i386
>   physical memory: 512MB
>   vm.kmem_size=671088640
>     ( In this setting:
>        kern.maxvnodes: 35077
>        vfs.zfs.dnlc.ncsize: 33095 )
> 
>   Create zfs filesystem and extract ports.tar.gz(many files) on it.
>   After a while you can see that the system is not responsive because of
>   vnode starvation.

Good catch! Thanks for the report. I just committed a fix, can you try
it and confirm it works for you?

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd_at_FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Received on Fri Apr 13 2007 - 06:43:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:08 UTC