Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Apr 2001 18:39:07 +0900
From:      Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>
To:        phk@critter.freebsd.dk
Cc:        Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>
Subject:   Re: vm balance 
Message-ID:  <200104130939.f3D9d7Z37169@rina.r.dl.itc.u-tokyo.ac.jp>
In-Reply-To: In your message of "Thu, 12 Apr 2001 22:50:50 %2B0200" <59188.987108650@critter>
References:  <200104121757.f3CHvJd20639@earth.backplane.com> <59188.987108650@critter>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 12 Apr 2001 22:50:50 +0200,
  Poul-Henning Kamp <phk@critter.freebsd.dk> said:

Poul-Henning> We keep namecache entries around as long as we can use them, and that
Poul-Henning> generally means that recreating them is a rather expensive operation,
Poul-Henning> involving creation of vnode and very likely a vm object again.

Holding a namecache entry forever until its vnode is reused results in
disaster when a huge number of files are accessed concurrently, causing
active vnodes to eat up all of memory. This beast killed a box of mine
with 3GB of memory and 200GB of a RAID0 disk array serving about
300,000 files by cvsupd and making the world a few months ago, when
the number of the vnodes reached around 400,000 to make all of the
processes wait for a free vnode.

With a help by tegge, the box is now reclaiming directory vnodes when
few free vnodes are available. Only directory vnodes holding no child
directory vnodes held in v_cache_src are recycled, so that directory
vnodes near the root of the filesystem hierarchy remain in namecache
and directory vnodes are not reclaimed in cascade. The number of
vnodes in the box is now about 135,000, staying quite steadily.

Name'cache' is the place to hold vnodes for future use which may *not*
come, hence vnodes held in namecache should be reclaimed in case of
critical vnode shortage.

-- 
Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp> <tanimura@FreeBSD.org>

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104130939.f3D9d7Z37169>