[PERFORM] How can I find the source of postgresql per-connection memory leaks?

Поиск
Список
Период
Сортировка
От Eric Jensen
Тема [PERFORM] How can I find the source of postgresql per-connection memory leaks?
Дата
Msg-id CAB+ZbRXJWZokibM_PrnD6FrmKOJrP1+E6aK-DQWL=ZMQR1CKAg@mail.gmail.com
обсуждение исходный текст
Ответы Re: [PERFORM] How can I find the source of postgresql per-connectionmemory leaks?
Список pgsql-performance
I'm using postgresql 9.5.4 on amazon RDS with ~1300 persistent connections from rails 4.2 with "prepared_statements: false". Over the course of hours and days, the "Freeable Memory" RDS stat continues to go down indefinitely but jumps back up to a relatively small working set every time we reconnect (restart our servers). If we let it go too long, it goes all the way to zero and the database instance really does start to go into swap and eventually fail. Subtracting the freeable memory over days from the peaks when we restart we see that there are 10's of MB per connection on average.

enter image description here
Digging into the per-pid RSS from enhanced monitoring, we see the same slow growth on example connection pids but the total RSS seems to just be a proxy for actual memory usage per connection (https://www.depesz.com/2012/06/09/how-much-ram-is-postgresql-using/).

enter image description here

How can I either:

Change the default.postgres9.5 parameters below to avoid unbounded memory growth per-connection
Determine what queries cause this unbounded growth and change them to prevent it
Determine what type of buffering/caching is causing this unbounded growth so that I can use that to do either of the above

enter image description here

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

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: [PERFORM] Sort-of replication for reporting purposes
Следующее
От: "Joshua D. Drake"
Дата:
Сообщение: Re: [PERFORM] How can I find the source of postgresql per-connectionmemory leaks?