Re: Abnormally high memory usage/OOM triggered

Поиск
Список
Период
Сортировка
От Davlet Panech
Тема Re: Abnormally high memory usage/OOM triggered
Дата
Msg-id 8c6d9f34-2a2c-4317-ebbb-ba3ce2cd6a26@gmail.com
обсуждение исходный текст
Ответ на Re: Abnormally high memory usage/OOM triggered  (Keith <keith@keithf4.com>)
Список pgsql-admin
On 1/18/2018 12:45 PM, Keith wrote:
> 
> 
> On Thu, Jan 18, 2018 at 12:13 PM, Davlet Panech <dpanech@gmail.com 
> <mailto:dpanech@gmail.com>> wrote:
> 
>     On 1/17/2018 5:57 PM, scott ribe wrote:
> 
>         On Jan 17, 2018, at 2:57 PM, Davlet Panech <dpanech@gmail.com
>         <mailto:dpanech@gmail.com>> wrote:
> 
> 
>             Does my configuration look reasonable? I just don't
>             understand how it could possibly use up 19 GB of memory
>             based on the configuration below. Is there a memory leak in
>             there somewhere?
> 
> 
>         It does seem awfully high, but... An update can involve a join
>         across multiple tables. Or an update can run a trigger which can
>         cascade. Either of those could result in an "accidental cross
>         product" join, which can always blow up memory.
> 
>     There must be a way to put an upper limit on memory even for such
>     cases. I was under the impression that parameters such as "work_mem"
>     serve that purpose, is that not the case? So an "accidental cross
>     product" join's memory usage is unbounded? It can't be... could
>     somebody confirm this please?
> 
>     Thanks,
>     D.
> 
> 
> work_mem isn't really an upper limit on overall memory usage. It's just 
> an upper limit on how much is used in certain processes before spilling 
> to disk. A query or group of queries can easily use up all of system 
> memory if it's complex enough by using multiple instances of work_mem. 
> This is why work_mem shouldn't be set any higher than necessary. The 
> wiki explains this better
> 
> https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
> 
> "This size is applied to each and every sort done by each user, and 
> complex queries can use multiple working memory sort buffers. Set it to 
> 50MB, and have 30 users submitting queries, and you are soon using 1.5GB 
> of real memory. "

I understand, but in my case a single server-side postgres process used 
19GB, which (excluding shared memory etc) is something like a 100 times 
what I would expect, even for "complex" queries.

> 
> I would go with Tom's suggestion in this case, though, since that bug 
> seems to fit the situation described by the patch he found. It's always 
> important to be running the latest patch release to rule out a bug being 
> the cause of an issue.

OK, so it is likely a memory leak; I just wanted to rule out other 
explanations.

Thanks to all who replied.


В списке pgsql-admin по дате отправления:

Предыдущее
От: Keith
Дата:
Сообщение: Re: Abnormally high memory usage/OOM triggered
Следующее
От: Azimuddin Mohammed
Дата:
Сообщение: Backups