| From: | Toby Corkindale <toby(dot)corkindale(at)strategicdata(dot)com(dot)au> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Shared Buffer Size |
| Date: | 2011-05-30 03:10:53 |
| Message-ID: | 4DE30ABD.9080106@strategicdata.com.au |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On 28/05/11 18:42, Carl von Clausewitz wrote:
> a few months ago, when I installed my first PostgreSQL, I have had the
> same problem. I've try to get any information about optimal memory
> config, and working, but there wasn't any "optimal memory setting
> calculator" on the internet, just some guide in the posgre documentation
> (http://www.postgresql.org/docs/9.0/interactive/kernel-resources.html#SYSVIPC)
> I got FreeBSD 8.2 AMD64, with 8 GB of memory (this server is just for
> PostgreSQL and a little PHP app with 2 user), and I have theese setting
> in postgresql.conf (which are not the default):
>
[snip]
> work_mem = 64MB# min 64kB
> maintenance_work_mem = 1024MB# min 1MB
> max_stack_depth = 64MB# min 100kB
Just a warning - but be careful about setting work_mem to high values.
The actual memory used by a query can be many times the value, depending
on the complexity of your query.
In a particular query I saw last week, we were regularly exceeding the
available memory on a server, because the query was requiring 80 times
the value of work_mem, and work_mem had been set to a high value.
Reducing work_mem back to just 4MB reduced memory usage by a couple of
gigabytes, and had almost no effect on the execution time. (Actually, it
was marginally faster - probably because more memory was left for the
operating system's cache)
Toby
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Carl von Clausewitz | 2011-05-30 05:34:53 | Re: Shared Buffer Size |
| Previous Message | Greg Smith | 2011-05-30 01:31:00 | Re: Regular disk activity of an idle DBMS |