Re: memory question - Mailing list pgsql-general

From Ed L.
Subject Re: memory question
Date
Msg-id 034301c56eb4$791eafb0$6402010a@rowdy
Whole thread Raw
In response to memory question  ("Ed L." <pgsql@bluepolka.net>)
Responses Re: memory question  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
 
IpcMemoryCreate: shmget(key=9099001, size=110002176, 03600) failed: Not enough space
 
This error usually means that PostgreSQL's request for a shared
memory segment exceeded available memory or swap space.
To reduce the request size (currently 110002176 bytes), reduce
PostgreSQL's shared_buffers parameter (currently 10000) and/or
its max_connections parameter (currently 60).
 
Glance (and GBL_MEM_UTIL) say ~80% of RAM is being used:
 
Total VM :  6.98gb   Sys Mem  :  3.48gb   User Mem:  6.40gb   Phys Mem:  16.0gb
Active VM:  5.94gb   Buf Cache:  3.20gb   Free Mem:  2.91gb         Page 1 of 1
UserMem + SysMem + BufCache = ~80%, but that would leave 2.91gb "free"?
 
I don't understand why pgsql is not able to satisfy this 110MB request, either by utilizing the free memory reported by glance, or by giving up some up from the 3.2gb os buffer cache (we have dbc_min_pct = 3%, or 480mb, and dbc_max_pct = 20%, or 3.2gb, not a static os buffer cache).
 
I also see the sum of shared memory segments from ipcs adds up to 3.4gb.
 
So ps + ipcs = 7.8gb if pgsize = 4K.  If pagesize = 3001, ps + ipcs = 6.6gb, pretty close to the 6.40gb above.
 
But still wondering why 110mb request cannot be satisfied from 2.91gb of free mem or 3.2gb os buffer cache? 
 
Thanks,
Ed
 

pgsql-general by date:

Previous
From: "Ed L."
Date:
Subject: memory question
Next
From: David Fetter
Date:
Subject: Re: return next and pl/perl