From owner-freebsd-performance@FreeBSD.ORG Fri Dec 31 09:06:14 2010 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EDC631065696 for ; Fri, 31 Dec 2010 09:06:14 +0000 (UTC) (envelope-from nicolas.haller@corp.nerim.fr) Received: from baneblade.noc.nerim.net (baneblade.noc.nerim.net [62.4.17.143]) by mx1.freebsd.org (Postfix) with ESMTP id B76138FC14 for ; Fri, 31 Dec 2010 09:06:14 +0000 (UTC) Received: by baneblade.noc.nerim.net (Postfix, from userid 1000) id 3E6B6B0A40; Fri, 31 Dec 2010 10:06:13 +0100 (CET) Date: Fri, 31 Dec 2010 10:06:13 +0100 From: Nicolas Haller To: Jim Nasby Message-ID: <20101231090612.GN2660@baneblade.noc.nerim.net> References: <20101228135940.GE2660@baneblade.noc.nerim.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) X-Mailman-Approved-At: Fri, 31 Dec 2010 12:24:11 +0000 Cc: freebsd-performance@freebsd.org Subject: Re: tunning disk cache for pgsql? X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Dec 2010 09:06:15 -0000 On Thu, Dec 30, 2010 at 06:15:34PM -0600, Jim Nasby wrote: > On Dec 28, 2010, at 7:59 AM, Nicolas Haller wrote: > > I use a new box with 4GB RAM as a pgsql server. In pgsql, you can > > set the effective_cache_size to indicate the memory available to cache > > disk I/O. > > As "recommended", my box use 1300MB to shared buffers (IPC shared memory) > > and 2700 Mo to disk cache. > That's probably not a great mix unless your workload is very > read-heavy. Writes will push data through shared buffers back into the > OS, which will also try to cache it, so you'll end up with > double-buffering. Interresting. My DB is not heavily loaded yet so I don't see any problem at this time. I just follow recommendations. I thought Postgresql write and sync disk after writing WAL or doing a checkpoint. > > If I look memory usage in top, it say: > > Mem: 1154M Active, 1911M Inact, 601M Wired, 112M Cache, 417M Buf, 148M Free > The Cache reported by top in FreeBSD isn't filesystem cache; it's a > cache for some internal stuff. Buf are filesystem buffers, but they're > not the only mechanism for the OS to cache data. Most data is actually > cached via active and inactive pages. Ok, so when Postgresql doing a query for a second time for (very simple) example, FreeBSD can retrieve data from inactive mem too? Someone knows if there is a page which explains FreeBSD mechanisms about memory and fs cache management? I think I must read something on it :-) Thanks, -- Nicolas Haller