From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Atul Deopujari <atuldeopujari(at)gmail(dot)com> |
Cc: | List <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: High memory retention by QueryExecutorImpl.pgStream.encoding.decoderArray |
Date: | 2019-03-05 11:01:05 |
Message-ID: | CADK3HHJXkrzWV4VqUPPr+L9kZoGmGJgOmS4O9g1udkszTs79tg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Hello,
It would be useful if you could try the latest driver as that may have
fixed the problem, alternatively it is also what we are developing against.
As you already have a heap dump can you shed any more light on what's going
on?
Regards
Dave Cramer
davec(at)postgresintl(dot)com
www.postgresintl.com
On Mon, 4 Mar 2019 at 11:01, Atul Deopujari <atuldeopujari(at)gmail(dot)com> wrote:
> Hello
> I am trying to figure out reasons for high memory utilization by
> PgConnection object. My application occasionally runs out of memory and the
> heap dump shows PgConnection as one of the largest consumers of memory.
>
> The heap dump shows PgConnection having a retained size of 640 MB.
> We use a connection pool of 8 connections. Each connection object is
> retaining about 80 MB. If I drill down into the PgConnection object, I see
> that QueryExecutorImpl taking almost all memory within which it is the
> pgStream.encoding.decoderArray taking all the memory.
>
> Not all connection objects are 80 MB all the time. Sometimes the heap dump
> also shows that some connection objects are as low as 3 MB in size.
>
> I would like to understand under what circumstances can
> pgStream.encoding.decoderArray retain 80MB. I have checked places in the
> code and have ensured that we are doing resultSet.close, stmt.close and
> conn.close wherever we are using them. We do have big objects in the
> database. I have tried to reproduce this problem using a simple program
> that queries tuples that are large text, some are even more than 500MB. I
> haven't been able to see such high memory usage of QueryExecutorImpl in my
> local setup.
>
> We use the following JDBC driver and the server
>
> - JDBC driver build number: 42.2.2
> - Server version: 10.4 (Ubuntu 10.4-2.pgdg14.04+1)
>
>
> Will appreciate if someone can throw light on the reasons for excessive
> object retention in QueryExecutorImpl.pgStream.encoding.decoderArray which
> can help me dig this problem further.
>
> Thanks,
> Atul
>
From | Date | Subject | |
---|---|---|---|
Next Message | Atul Deopujari | 2019-03-06 11:09:15 | Re: High memory retention by QueryExecutorImpl.pgStream.encoding.decoderArray |
Previous Message | Atul Deopujari | 2019-03-04 13:09:11 | High memory retention by QueryExecutorImpl.pgStream.encoding.decoderArray |