On Fri, Feb 27, 2004 at 05:47:47AM +0800, Christopher Kings-Lynne wrote:
> > We have postgres running on freebsd 4.9 with 2 Gigs of memory. As per
> > repeated advice on the mailing lists we configured effective_cache_size
> > = 25520 which you get by doing `sysctl -n vfs.hibufspace` / 8192
> >
> > Which results in using 200Megs for disk caching.
>
> effective_cache_size does nothing of the sort. CHeck your
> shared_buffers value...
Sigh.
http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html
effective_cache_size
Sets the optimizer's assumption about the effective size of the disk
cache (that is, the portion of the kernel's disk cache that will be
used for PostgreSQL data files). This is measured in disk pages, which
are normally 8 kB each.
http://archives.postgresql.org/pgsql-performance/2003-07/msg00159.php
talks about how to programmatically determine the right setting for
effective_cache_size:
case `uname` in "FreeBSD")
echo "effective_cache_size = $((`sysctl -n vfs.hibufspace` / 8192))"
;;
*)
echo "Unable to automatically determine the effective cache size" >> /dev/stderr
;;
esac
which brings me back to my question why not make Freebsd use more of its
memory for disk caching and then tell postgres about it.
>
> > Is there a reason not to increase the hibufspace beyond the 200 megs and
> > provide a bigger cache to postgres? I looked both on the postgres and
> > freebsd mailing lists and couldn't find a good answer to this.
>
> Well, maybe butnot necessarily. It's better to leave the OS to look after
> most of your RAM.
>
> Chris
>
--
Dror Matalon
Zapatec Inc
1700 MLK Way
Berkeley, CA 94709
http://www.fastbuzz.com
http://www.zapatec.com