From owner-freebsd-arch Sun Feb 24 12:43:11 2002 Delivered-To: freebsd-arch@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 3D1D537B402 for ; Sun, 24 Feb 2002 12:43:01 -0800 (PST) Received: (from dillon@localhost) by apollo.backplane.com (8.11.6/8.9.1) id g1OKfXt95731; Sun, 24 Feb 2002 12:41:33 -0800 (PST) (envelope-from dillon) Date: Sun, 24 Feb 2002 12:41:33 -0800 (PST) From: Matthew Dillon Message-Id: <200202242041.g1OKfXt95731@apollo.backplane.com> To: Seigo Tanimura Cc: arch@FreeBSD.ORG, Seigo Tanimura Subject: Re: reclaiming v_data of free vnodes References: <200202231556.g1NFu9N9040749@silver.carrots.uucp.r.dl.itc.u-tokyo.ac.jp> Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG :Thanks to vnlru, cvsup.jp.FreeBSD.org is keeping the number of vnodes :to quite sane value. (about 330K out of which 190K are in use) : :The next problem is the overuse of v_data. vmstat(1) at the uptime of :about 24 hours says: : : Type InUse MemUse HighUse Limit Requests Limit Limit Size(s) : FFS node323549 80888K 80897K102400K 29347661 0 0 256 : :which is almost the same as the number of the total vnodes. (in :cvsup.jp.FreeBSD.org, almost all in-use vnodes are actually inodes) : :This seems due to vrele() and vput() not calling VOP_RECLAIM(). One :solution is to always reclaim a vnode in vrele()/vput(), while we can :also run a kernel thread to scan the free vnodes and reclaim some of :them. Which one would be better, or are there any other ways? : :Any comments are welcome. : :-- :Seigo Tanimura Well, you definitely do not want vrele() or vput() to call VOP_RECLAIM() directly or you will blow the VFS cache (aka namei cache). 330,000 vnodes and/or inodes is pushing what a kernel with only 1G of KVM can handle. For these machines you may want to change the kernel start address from c000000 (1G of KVM) to 8000000 (2G of KVM). I forget exactly how that is done. Did kern.maxvnodes auto-size to 330,000 or did you set it up there manually? Or is kern.maxvnodes set lower and it blew it out on its own due to load? -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message