| From: | Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> | 
|---|---|
| To: | mark <pgroad(at)163(dot)com>, pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: postgresql 9.5 has ocuuered OOM | 
| Date: | 2017-12-20 16:24:35 | 
| Message-ID: | 74cbd04b-88b6-f991-e253-7805e3ac7128@2ndquadrant.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
On 12/20/2017 04:08 PM, mark wrote:
> I have set shared_buffers is 1/4 of memory.
> work_mem is 2% of memory.
> max_connections is 50.
That means if you have all 50 connections active, they may easily
consume 100% of memory, because 50 * 2 is 100. It's even easier if the
connections are executing complex queries, because each query may use
multiple work_mem buffers. So 2% seems a bit too high.
> momery size is 16GB.
> postgresql process used over 70% of memory and occuered OOM.
So, did a single process use 70% of memory, or all postgres processes
combined?
If just a single process, it might be a poor plan choice (e.g. hash
aggregate may easily cause that).
If all processes combined, then perhaps it's due to work_mem being too high.
> what should I do to deal with this problem?
> 
Hard to say, until you provide enough information.
regards
-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andreas Kretschmer | 2017-12-20 16:25:00 | Re: postgresql 9.5 has ocuuered OOM | 
| Previous Message | mark | 2017-12-20 15:08:51 | postgresql 9.5 has ocuuered OOM |