pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Erik Wienhold <ewie@ewie.name>
To: Alex Balashov <abalashov@evaristesys.com>
To: pgsql-admin <pgsql-admin@lists.postgresql.org>
Subject: Re: Unexplained rapid growth in memory usage of idle backends
Date: Sat, 13 May 2023 01:38:00 +0200 (CEST)
Message-ID: <729198445.317848.1683934680067@office.mailbox.org> (raw)
In-Reply-To: <2D17E15D-8D5B-4DF7-A238-12455C2731D8@evaristesys.com>
References: <2D17E15D-8D5B-4DF7-A238-12455C2731D8@evaristesys.com>

> On 13/05/2023 00:12 CEST Alex Balashov <abalashov@evaristesys.com> wrote:
>
> We have an application that has a preforked worker pool architecture and
> opens a relatively large (70+) number of persistent connections to PostgreSQL
> 14, and have `max_connections` set to 200 accordingly.

Which pg14 minor version exactly?

> Occasionally, about once every 2 months, we'll get a slow-motion implosion
> over a period of about 24 hours, where the resident memory size of some of
> the backends shoots up from a reasonable few hundred MB to several gigs --
> and will keep growing, e.g.
>
>     PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
> 3932733 postgres  20   0  637740 327124 323840 R  10.7   0.5   0:00.11 postgres
>  782930 postgres  20   0 3151360   2.8g 551704 S   9.7   4.5 221:43.17 postgres
>  782839 postgres  20   0 2999896   2.7g 551832 S   8.7   4.3 220:54.55 postgres
> 3932734 postgres  20   0  636128 338168 336096 R   8.7   0.5   0:00.09 postgres
> 3932735 postgres  20   0  636128 319824 317768 R   8.7   0.5   0:00.09 postgres
>  782851 postgres  20   0 3142152   2.8g 551872 S   7.8   4.5 221:22.62 postgres
>  782855 postgres  20   0 3155144   2.8g 551828 S   7.8   4.5 221:38.59 postgres
>  782897 postgres  20   0 3148808   2.8g 551724 S   7.8   4.5 220:05.94 postgres
>  783106 postgres  20   0 3152416   2.8g 551912 S   7.8   4.5 221:24.40 postgres
>  783168 postgres  20   0 2992592   2.7g 551968 S   7.8   4.2 220:36.06 postgres
>  782843 postgres  20   0 3146772   2.8g 551944 R   4.9   4.5 221:38.46 postgres
>  782778 postgres  20   0 3150956   2.8g 551852 R   3.9   4.5 220:49.88 postgres

Function pg_log_backend_memory_contexts(pid int) may give you some insights on
on the memory allocation for specific backends.

https://www.postgresql.org/docs/14/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE

--
Erik





view thread (9+ messages)  latest in thread

Message-ID: <729198445.317848.1683934680067@office.mailbox.org>
Permalink:  ../729198445.317848.1683934680067@office.mailbox.org/
Also on:    postgresql.org/message-id/729198445.317848.1683934680067@office.mailbox.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: ewie@ewie.name, abalashov@evaristesys.com, pgsql-admin@lists.postgresql.org
  Subject: Re: Unexplained rapid growth in memory usage of idle backends
  In-Reply-To: <729198445.317848.1683934680067@office.mailbox.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox