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>
