Re: Memory Leakage Problem

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Mike Rylander <mrylander(at)gmail(dot)com>
Cc: pgsql general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Memory Leakage Problem
Date: 2005-12-08 04:38:53
Message-ID: 6353.1134016733@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-performance

Mike Rylander <mrylander(at)gmail(dot)com> writes:
> To cut to the chase, here are
> some numbers for everyone to digest:
> total gnu ps resident size
> # ps ax -o rss|perl -e '$x += $_ for (<>);print "$x\n";'
> 5810492
> total gnu ps virual size
> # ps ax -o vsz|perl -e '$x += $_ for (<>);print "$x\n";'
> 10585400
> total gnu ps "if all pages were dirtied and swapped" size
> # ps ax -o size|perl -e '$x += $_ for (<>);print "$x\n";'
> 1970952

I wouldn't put any faith in those numbers at all, because you'll be
counting the PG shared memory multiple times.

On the Linux versions I've used lately, ps and top report a process'
memory size as including all its private memory, plus all the pages
of shared memory that it has touched since it started. So if you run
say a seqscan over a large table in a freshly-started backend, the
reported memory usage will ramp up from a couple meg to the size of
your shared_buffer arena plus a couple meg --- but in reality the
space used by the process is staying constant at a couple meg.

Now, multiply that effect by N backends doing this at once, and you'll
have a very skewed view of what's happening in your system.

I'd trust the totals reported by free and dstat a lot more than summing
per-process numbers from ps or top.

> Now, I'm not blaming Pg for the apparent discrepancy in calculated vs.
> reported-by-free memory usage, but I only noticed this after upgrading
> to 8.1.

I don't know of any reason to think that 8.1 would act differently from
older PG versions in this respect.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jim C. Nasby 2005-12-08 07:13:15 Re: [GENERAL] 8.1, OID's and plpgsql
Previous Message Kathy Lo 2005-12-08 04:29:11 Re: memory leak under heavy load?

Browse pgsql-performance by date

  From Date Subject
Next Message Nörder-Tuitje 2005-12-08 08:36:43 INSERTs becoming slower and slower
Previous Message Mike Rylander 2005-12-08 03:46:02 Re: Memory Leakage Problem