Re: autovacuum launcher process eating up 17G+ of ram? - Mailing list pgsql-admin

From Nick
Subject Re: autovacuum launcher process eating up 17G+ of ram?
Date
Msg-id AANLkTimKs23hytr6oj1Kco53rbaPF2mKTZZYofr0Cr0+@mail.gmail.com
Whole thread Raw
In response to Re: autovacuum launcher process eating up 17G+ of ram?  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Responses Re: autovacuum launcher process eating up 17G+ of ram?
List pgsql-admin
Yes I was using top, but I am not adding up anything.  I'm only ever
looking at the one process called "postgres: autovacuum launcher
process", not any of the other postgres processes.

Here is a vmstat 1 right after postgres has been started:

procs -----------memory---------- ---swap-- -----io---- --system--
-----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0  55480 760172 1709424 3758492    0   12     4   294   23   26  3
 2 94  0  0
 0  0  55480 756080 1709460 3762308    0    0     8  6836 1139  442 10
 8 79  3  0
 0  0  55480 755088 1709492 3763328    0    0     0     0 1044  409 10
 8 83  0  0
 0  0  55480 754096 1709544 3763992    0    0     0    64 1023  405 10
 7 83  0  0
 1  0  55480 749696 1709692 3766816    0    0  2028     0 1141  539 11
 9 74  7  0
 0  0  55480 746544 1709764 3769900    0    0  2164     0 1128  527 11
 7 83  0  0
 1  0  55480 743332 1709812 3773040    0    0  2216  7440 1314  572 10
 8 80  2  0
 3  0  55480 739808 1709864 3776044    0    0  2128     0 1170  541 11
 8 81  0  0
 0  0  55480 737356 1709928 3779260    0    0  2216     0 1149  552 10
 8 82  0  0

Here is another chunk after it's been running for about 18 hours:

procs -----------memory---------- ---swap-- -----io---- --system--
-----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 1812168  20332  59452 102172    0   12     5   302    8   19  3
3 93  0  0
 0  0 1812168  19960  59456 102164    0    0     0  3260 1051  540  8
7 85  1  0
 0  0 1812168  19932  59456 102324    0    0     0     0 1022  585  8
8 83  0  0
 1  0 1812168  19056  59456 102620    0    0     0     0 1035  541  7
7 86  0  0
 0  0 1812168  19808  59456 102128    0    0     0     0 1024  572  8
9 84  0  0
 0  1 1812168  20304  59460 102124    0    0     0    28 1035  553  8
8 85  0  0
 1  0 1812168  19428  59476 102312    0    0     0  3152 1031  535  8
6 84  2  0
 0  0 1812168  19808  59476 102168    0    0     0     8 1041  573  8
9 83  0  0
 1  0 1812168  18924  59476 102316    0    0     0     0 1016  526  9
8 84  0  0
 0  0 1812168  18940  59476 102316    0    0     0     0 1042  535  7
8 85  0  0
 0  0 1812168  19560  59476 102168    0    0     0     0 1021  439  8
8 85  0  0
 0  0 1812168  19312  59488 102156    0    0     0  3136 1045  454  7
8 84  1  0
 0  0 1812168  18692  59496 102168    0    0     0  3236 1221  505  9
8 82  2  0
 1  0 1812168  21432  59496 102184    0    0     0     0 1044  498  8
8 85  0  0
 0  0 1812168  22184  59496 102128    0    0     0     0 1019  511  7
6 86  0  0
 0  0 1812168  21936  59496 102168    0    0     0     0 1039  582  8
9 84  0  0
 0  0 1812168  21316  59504 102168    0    0     0  3284 1030  450  8
7 85  1  0
 0  0 1812168  21440  59504 102168    0    0     0     0 1034  466  8
7 85  0  0
 1  0 1812168  20812  59512 102168    0    0     0    16 1021  546  9
7 84  1  0
 0  0 1812168  21316  59512 102168    0    0     0     0 1039  532  7
8 85  0  0


Here is a snapshot of all the postgres processes as listed in top
(29582 = postgres: autovacuum launcher process):

29582 pgsql     15   0 8739m 6.7g 1816 S  8.9 86.1  91:10.44 postgres
29583 pgsql     15   0  108m 7648  440 S 13.3  0.1 143:04.91 postgres
29578 pgsql     15   0  157m 3704 2992 S  0.3  0.0   1:46.29 postgres
29580 pgsql     15   0  157m 1472  760 S  0.0  0.0   0:00.78 postgres
29581 pgsql     15   0  157m 1204  492 S  0.0  0.0   0:00.12 postgres

As you can see, after a while the system is using a lot of swap.  The
first time I noticed the problem, the swap was up to 12G (there is 8GB
of ram in this system).  I believe postgres was running for several
days to achieve that much memory utilization.


Thanks for the other thoughts on tuning.  I will investigate those
once I figure out what is up with this memory utilization problem.


On Thu, Oct 21, 2010 at 2:59 PM, Kevin Grittner
<Kevin.Grittner@wicourts.gov> wrote:
> Nick <t32@2thebatcave.com> wrote:
>
>> I have a production server running postgres 8.3.11.  I did a dump
>> all and loaded up postgres 9.0.1 on another server.  On the new
>> server, the postgres autovacuum launcher process eats up an insane
>> amount of ram (I have seen 17G virt with 6.5G res).
>
> You're not looking at this in top and adding up the RAM per process,
> are you?  That is notoriously unreliable; in particular it tends to
> count the shared memory over and over.  What does free say about
> total usage?  How do things look with vmstat 1?
>
>> The only change I made in the postgresql.conf (on both versions)
>> is setting the maximum number of connections to 1000.
>
> Unless you have four or five hundred cores in the box, that's
> probably a bad idea.  You should seriously look at using a
> connection pool.  Search the archives for previous discussions on
> that topic.
>
>> So all other options are default to their particular postgres
>> versions.
>
> Since the defaults are designed to allow the server to come up on
> even a very small machine, you should probably be setting several
> more.  You might want to start here:
>
> http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
>
> -Kevin
>

pgsql-admin by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: autovacuum launcher process eating up 17G+ of ram?
Next
From: "Kevin Grittner"
Date:
Subject: Re: autovacuum launcher process eating up 17G+ of ram?