Re: Heavy postgres process

From: Vivek_Sharan <Vivek_Sharan(at)infosys(dot)com>
To: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
Cc: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Heavy postgres process
Date: 2008-09-16 08:41:27
Message-ID: 5465CC59A600E2408FFBF84350B9383450F4933C33@AUSMELMBX01.ad.infosys.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Thanks for the information so far
My Application runs on FreeBSd box and main technological component are Apache and mod Perl, database is postgres. I have already scanned pg_stat_activity and pg_listener table but could get any clue. Pg_stat_activity shows list of all idle processes but command (current_query) column is empty. So I cannot make out what these processes are doing.
TOP on this server doesn't have any option available to further break down processes. And hitting 'M; did change anything because this is not available with top on this server. Following is the output of top if filtered for only postgres user

*****************************************************************************
last pid: 92308; load averages: 0.00, 0.03, 0.05
78 processes: 2 running, 76 sleeping
CPU states: 1.6% user, 0.0% nice, 3.4% system, 0.0% interrupt, 94.9% idle
Mem: 413M Active, 2122M Inact, 534M Wired, 140M Cache, 199M Buf, 533M Free
Swap: 4096M Total, 3880K Used, 4092M Free

PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU CPU COMMAND
90976 postgres 2 0 83568K 76016K sbwait 2 0:32 2.83% 2.83% postgres
90963 postgres 2 0 83396K 75876K sbwait 2 0:25 1.37% 1.37% postgres
90919 postgres 2 0 83808K 76244K sbwait 1 0:32 0.39% 0.39% postgres
87341 postgres 2 0 6388K 756K select 3 2:35 0.00% 0.00% postgres
87340 postgres 2 0 7200K 1224K select 0 1:41 0.00% 0.00% postgres
90961 postgres 2 0 83580K 76008K sbwait 0 0:30 0.00% 0.00% postgres
90920 postgres 2 0 83636K 76068K sbwait 0 0:29 0.00% 0.00% postgres
90934 postgres 2 0 83664K 76012K sbwait 0 0:27 0.00% 0.00% postgres
90924 postgres 2 0 83408K 75872K sbwait 0 0:25 0.00% 0.00% postgres
90915 postgres 2 0 79292K 72664K sbwait 0 0:23 0.00% 0.00% postgres
90955 postgres 2 0 79644K 73040K sbwait 0 0:22 0.00% 0.00% postgres
90979 postgres 2 0 78904K 72260K sbwait 0 0:17 0.00% 0.00% postgres
87339 postgres 2 0 74756K 672K select 1 0:12 0.00% 0.00% postgres
90921 postgres 2 0 75504K 59848K sbwait 3 0:01 0.00% 0.00% postgres
90927 postgres 2 0 75540K 59296K sbwait 3 0:01 0.00% 0.00% postgres
90962 postgres 2 0 75524K 56960K sbwait 0 0:01 0.00% 0.00% postgres
90923 postgres 2 0 75540K 57584K sbwait 1 0:01 0.00% 0.00% postgres
90914 postgres 2 0 75552K 57776K sbwait 1 0:01 0.00% 0.00% postgres
90917 postgres 2 0 75524K 57256K sbwait 3 0:01 0.00% 0.00% postgres
90922 postgres 2 0 75504K 57352K sbwait 1 0:01 0.00% 0.00% postgres
90918 postgres 2 0 75508K 57748K sbwait 3 0:01 0.00% 0.00% postgres
90933 postgres 2 0 75540K 53728K sbwait 2 0:01 0.00% 0.00% postgres
90926 postgres 2 0 75484K 54928K sbwait 3 0:01 0.00% 0.00% postgres
90931 postgres 2 0 75512K 20880K sbwait 3 0:00 0.00% 0.00% postgres
90977 postgres 2 0 75512K 20584K sbwait 0 0:00 0.00% 0.00% postgres
91005 postgres 2 0 75512K 19956K sbwait 0 0:00 0.00% 0.00% postgres
90966 postgres 2 0 75488K 19056K sbwait 1 0:00 0.00% 0.00% postgres
90986 postgres 2 0 75512K 19348K sbwait 1 0:00 0.00% 0.00% postgres
90973 postgres 2 0 75512K 18140K sbwait 1 0:00 0.00% 0.00% postgres
90989 postgres 2 0 75512K 18668K sbwait 2 0:00 0.00% 0.00% postgres
90956 postgres 2 0 75488K 18320K sbwait 2 0:00 0.00% 0.00% postgres
90998 postgres 2 0 75512K 17564K sbwait 3 0:00 0.00% 0.00% postgres
90925 postgres 2 0 75488K 17412K sbwait 1 0:00 0.00% 0.00% postgres
88881 postgres 2 0 75528K 7920K sbwait 0 0:00 0.00% 0.00% postgres
*****************************************************************************

Output of vmstat command

procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr da0 da1 in sy cs us sy id
0 0 0 423492 688492 40 0 0 0 52 57 0 0 50 11 50 53 47 -0

*****************************************************************************
Output of systat command

> systat

/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10
Load Average |

/0 /10 /20 /30 /40 /50 /60 /70 /80 /90 /100
postgres postgres X
*****************************************************************************
entries in pg_stat_activities

datid | datname | procpid | usesysid | usename | current_query | query_start
-------+---------+---------+----------+----------+---------------+-------------
17142 | wasdb | 90914 | 103 | was | |
17142 | wasdb | 90917 | 103 | was | |
17142 | wasdb | 90915 | 103 | was | |
17142 | wasdb | 90918 | 103 | was | |
17142 | wasdb | 90919 | 103 | was | |
17142 | wasdb | 90920 | 103 | was | |
17142 | wasdb | 90921 | 103 | was | |
17142 | wasdb | 90922 | 103 | was | |
17142 | wasdb | 90923 | 103 | was | |
17142 | wasdb | 90924 | 103 | was | |
17142 | wasdb | 90925 | 104 | audit | |
17142 | wasdb | 90926 | 103 | was | |
17142 | wasdb | 90927 | 103 | was | |
17142 | wasdb | 90955 | 103 | was | |
17142 | wasdb | 90956 | 104 | audit | |
17142 | wasdb | 90961 | 103 | was | |
17142 | wasdb | 90931 | 104 | audit | |
17142 | wasdb | 90933 | 103 | was | |
17142 | wasdb | 90934 | 103 | was | |
17142 | wasdb | 90962 | 103 | was | |
17142 | wasdb | 90963 | 103 | was | |
17142 | wasdb | 90966 | 104 | audit | |
17142 | wasdb | 90973 | 104 | audit | |
17142 | wasdb | 90976 | 103 | was | |
17142 | wasdb | 90977 | 104 | audit | |
17142 | wasdb | 90979 | 103 | was | |
17142 | wasdb | 90986 | 104 | audit | |
17142 | wasdb | 90989 | 104 | audit | |
17142 | wasdb | 92353 | 1 | postgres | |
17142 | wasdb | 90998 | 104 | audit | |
17142 | wasdb | 88881 | 1 | postgres | |
17142 | wasdb | 91005 | 104 | audit | |
(32 rows)

*****************************************************************************
Regards,
Vivek Sharan

-----Original Message-----
From: Scott Marlowe [mailto:scott(dot)marlowe(at)gmail(dot)com]
Sent: Monday, September 15, 2008 9:24 PM
To: Vivek_Sharan
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: [ADMIN] Heavy postgres process

Run top, hit M and the attach the output to a reply here and we'll take a look.

On Mon, Sep 15, 2008 at 5:33 AM, Vivek_Sharan <Vivek_Sharan(at)infosys(dot)com> wrote:
> Thanks for your reply but how would I calculate which processes are eating up more memory, When I check process list, its only postgres and apache processes running on my system and only postgres processes are heavy. System runs out of memory quickly.
>
> Regards,
> ~Vivek
>
>
> -----Original Message-----
> From: Scott Marlowe [mailto:scott(dot)marlowe(at)gmail(dot)com]
> Sent: Friday, September 12, 2008 11:18 PM
> To: Vivek_Sharan
> Cc: pgsql-admin(at)postgresql(dot)org
> Subject: Re: [ADMIN] Heavy postgres process
>
> On Fri, Sep 12, 2008 at 2:12 AM, Vivek_Sharan <Vivek_Sharan(at)infosys(dot)com> wrote:
>> Hi Admin,
>>
>> I'm new to this I have few queries as listed below
>>
>> 1) Number of connections made with a particular database.
>
> Wait, how to find out how many connections there are, or how many can
> a particular db handle.
>
> For this kind of thing, look at the admin functions in the pgsql-sql docs:
>
> http://www.postgresql.org/docs/8.3/interactive/functions-admin.html
>
> specifically you want something like:
>
> select datname from pg_stat_activity;
> select datname, count(datname) from pg_stat_activity group by datname;
>
>> 2) And how can I check which process (PID) is responsible for the
>> connection and
>
> That table up there ^^^
>
>> 3) what all can make a postgres process as heavy as 70-80 MB in size
>
> you may not be measuring properly. When you say it's using 70-80 MB
> how do you know this? The numbers you see in top aren't necessarily
> what some folks think they ar.
>
> **************** CAUTION - Disclaimer *****************
> This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely
> for the use of the addressee(s). If you are not the intended recipient, please
> notify the sender by e-mail and delete the original message. Further, you are not
> to copy, disclose, or distribute this e-mail or its contents to any other person and
> any such actions are unlawful. This e-mail may contain viruses. Infosys has taken
> every reasonable precaution to minimize this risk, but is not liable for any damage
> you may sustain as a result of any virus in this e-mail. You should carry out your
> own virus checks before opening the e-mail or attachment. Infosys reserves the
> right to monitor and review the content of all messages sent to or from this e-mail
> address. Messages sent to or from this e-mail address may be stored on the
> Infosys e-mail system.
> ***INFOSYS******** End of Disclaimer ********INFOSYS***
>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Thomas Jacob 2008-09-16 09:04:15 Re: open source ERD for postgresql database
Previous Message Mauri Sahlberg 2008-09-16 08:31:47 Help request: how to tune performance?