Date: Tue, 15 Jan 2002 17:01:07 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Andrew Lankford <arlankfo@141.com> Cc: stable@FreeBSD.ORG Subject: Re:what's vnlru? Message-ID: <200201160101.g0G117r64693@apollo.backplane.com> References: <200201151618468.SM01176@141.com>
next in thread | previous in thread | raw e-mail | index | archive | help
vnlru is responsible for flushing and freeing vnodes when you hit the kern.maxvnodes limit. The history of this is: 4.4 and earlier vnodes were only freed if they had no cached pages. This could lead to a vnode blowout on machines with large amounts of ram accessing lots of small files. (the kern.maxvnodes limit was essentially ignored) 4.4-stable I introduced code to flush/reuse vnodes on the fly, but this lead to possible locking deadlocks. 4.5-* Peter introduced a separate kernel thread to deal with vnode flushing issues, 'vnlru', in order to fix the possible locking deadlocks. The on-the-fly code was changed to only be called from the kernel thread. This kernel thread will generally not be very active, even on a heavily loaded system. You have to have a lot of ram and be accessing tens of thousands of tiny files to activate the thread. -Matt Matthew Dillon <dillon@backplane.com> :My assumption is that it has something to do with ipfw. : :> :>Any ideas? :> :>$ps ax|head :> PID TT STAT TIME COMMAND :> 0 ?? DLs 0:00.00 (swapper) :> 1 ?? ILs 0:00.01 /sbin/init -- :> 2 ?? DL 0:00.00 (pagedaemon) :> 3 ?? DL 0:00.00 (vmdaemon) :> 4 ?? DL 0:00.00 (bufdaemon) :> 5 ?? DL 0:00.00 (vnlru) : To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201160101.g0G117r64693>