[Server-devel] Pg 8.3 tuning recommendations for embedded low-memory device (for OLPC :-) )

Martin Langhoff martin.langhoff at gmail.com
Sun Sep 14 20:56:55 EDT 2008


On Mon, Sep 15, 2008 at 11:55 AM, Martin Langhoff
<martin.langhoff at gmail.com> wrote:
> ... so RAM allocation for Pg will prob range between 32MB at the
> lower-end and 128MB/196MB at the 1GB "recommended" RAM.

Assuming a 128MB target, I've been poking and probing with the
postgresql.conf and the new settings...

 - 1/4 of it to shared buffers
 - 45 max connections - matched to a max of 40 apache/php processes
 - 2MB work_mem (some complex queries in Moodle require sorts)

means 32MB shmem and an unlikely maximum of 90MB taken for work_mem.
There is 6MB left over in my "budget" which I expect will be consumed
by per-connection overheads. When I start up Pg on this machine,
ps_mem.py (a nice smap parse-and-summarise tool) tells me a completely
idle postmaster:

 Private  +   Shared  =  RAM used	Program
(...)
  2.9 MiB +   1.0 MiB =   3.9 MiB	postmaster (6)

These are the changes I'm making to the default postgresql.conf:

+max_connections = 45
+## work_mem can also cost up to max_connections * work_mem
+
+shared_buffers = 32MB
+temp_buffers = 8MB
+max_prepared_transactions = 5
+work_mem = 2MB
+maintenance_work_mem = 16MB
+max_stack_depth = 2MB
+wal_buffers = 1MB
+wal_writer_delay = 1000ms

cheers,



m
-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Server-devel mailing list