Date: Sat, 01 Jan 2011 17:42:58 +0100 From: =?ISO-8859-1?Q?Beat_G=E4tzi?= <beat@chruetertee.ch> To: Kostik Belousov <kostikbel@gmail.com> Cc: Alexander Best <arundel@freebsd.org>, current@freebsd.org Subject: Re: Suddenly slow lstat syscalls on CURRENT from Juli Message-ID: <4D1F5992.8030309@chruetertee.ch> In-Reply-To: <20110101161254.GX90883@deviant.kiev.zoral.com.ua> References: <4D1F1AE8.5040704@chruetertee.ch> <20110101151008.GA7762@freebsd.org> <4D1F4A48.6080604@chruetertee.ch> <20110101154537.GW90883@deviant.kiev.zoral.com.ua> <4D1F4FB8.3030303@chruetertee.ch> <20110101161254.GX90883@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01.01.2011 17:12, Kostik Belousov wrote: > On Sat, Jan 01, 2011 at 05:00:56PM +0100, Beat G?tzi wrote: >> On 01.01.2011 16:45, Kostik Belousov wrote: >>> Check the output of sysctl kern.maxvnodes and vfs.numvnodes. I suspect >>> they are quite close or equial. If yes, consider increasing maxvnodes. >>> Another workaround, if you have huge nested directories hierarhy, is >>> to set vfs.vlru_allow_cache_src to 1. >> >> Thanks for the hint. kern.maxvnodes and vfs.numvnodes were equal: >> # sysctl kern.maxvnodes vfs.numvnodes >> kern.maxvnodes: 100000 >> vfs.numvnodes: 100765 >> >> I've increased kern.maxvnodes and the problem was gone until >> vfs.numvnodes reached the value of kern.maxvnodes again: >> # sysctl kern.maxvnodes vfs.numvnodes >> kern.maxvnodes: 150000 >> vfs.numvnodes: 150109 > The processes should be stuck in "vlruwk" state, that can be > checked with ps or '^T' on the terminal. Yes, there are various processes in "vlruwk" state, >> As the directory structure is quite huge on this server I've set >> vfs.vlru_allow_cache_src to one now. > Did it helped ? No, it doesn't looks like setting vfs.vlru_allow_cache_src helped. The problem was gone when I increased kern.maxvnodes until vfs.numvnodes reached that level. I've stopped all running deamons but numvnodes doesn't decrease. >>> You did not specified how much memory your machine have, but I assume it >>> is > 1GB. Anyway, increase of maxvnodes on i386 should be done very >>> cautiously, since it is easy to exhaust KVA. >> >> The server has 4GB of RAM. Is it possible to check how much i could >> increase kern.maxvnodes without exhausting KVA? >> > The RAM check is mostly to make sure that you have enough physical RAM > to cover whole possible KVA (1GB). Too aggressive settings for maxvnodes > would cause panic. > > Default settings of 100000 is more or less optimal for the i386 arch. > If you need more, you should switch to amd64. I see. Unfortunately the used CPUs are still 32bit CPUs so switching to amd64 is not that easy. Thanks. Beat
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D1F5992.8030309>