Re: Why are IDLE connections using cpu according to TOP. - Mailing list pgsql-general

From Tom Lane
Subject Re: Why are IDLE connections using cpu according to TOP.
Date
Msg-id 26378.1307205708@sss.pgh.pa.us
Whole thread Raw
In response to Re: Why are IDLE connections using cpu according to TOP.  (Scott Marlowe <scott.marlowe@gmail.com>)
List pgsql-general
Scott Marlowe <scott.marlowe@gmail.com> writes:
> On Fri, Jun 3, 2011 at 3:15 PM, bubba postgres <bubba.postgres@gmail.com> wrote:
>> I have an overloaded DB and I see several IDLE connections that are using
>> significant CPU.. (Not Idle in transaction)
>> Why would an idle process be eating so much cpu? Or is it not actually idle?

> Because there's often a difference in time between when the process is
> sampled for how hard it's working and the output that says what it's
> doing.  I.e. it was working hard, then when we looked at the part that
> says what it's doing, it's not idle.

Aside from the fact that top's measurements are time averages not
instantaneous, I believe it's also the case that when an idle backend
receives a new SQL command, it does a fair amount of parsing of the
command before it changes its reported "ps" state.  (This is because
it has to parse the command before it knows what to put in the state.)
So these could be processes that just received complicated commands.

            regards, tom lane

pgsql-general by date:

Previous
From: "David Johnston"
Date:
Subject: Re: Pl/pgsql function
Next
From: Scott Ribe
Date:
Subject: recommendations on storage, fairly low-end