Re: statistics collector process is thrashing my cpu

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: "William Temperley" <willtemperley(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: statistics collector process is thrashing my cpu
Date: 2008-05-23 19:33:38
Message-ID: 20080523153338.3b0a66b7@mha-laptop.hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

William Temperley wrote:
> On Fri, May 9, 2008 at 2:55 PM, Magnus Hagander <magnus(at)hagander(dot)net>
> wrote:
>
> > William Temperley wrote:
> > > On Thu, May 8, 2008 at 6:14 PM, Magnus Hagander
> > > <magnus(at)hagander(dot)net> wrote:
> > > > William Temperley wrote:
> > > >> > >
> > > >> > > Any ideas why this might be happening, and how I can stop
> > > >> > > it?
> > > >> >
> > > >> > It'd be interesting to know what the stats collector is
> > > >> > actually doing. Could you, using Process Explorer or a
> > > >> > debugger, get a stack trace from that process while it's in
> > > >> > the trashing state?
> > > >> >
> > > >> > //Magnus
> > > >> >
> > > >>
> > > >> Certainly, but I'll have to wait 'til it does it again, it
> > > >> doesn't happen all the time.
> > > >> What would you like to know from Process Explorer?
> > > >
> > > > Get the backtrace from hung process. Find the process in the
> > > > list, open it. Go to the tab "Threads", find the thread that's
> > > > using a lot of CPU (or at least has a lot of ocntext switchs),
> > > > and click the Stack button. That should give you a window with
> > > > a backtrace.
> > > >
> > > > //Magnus
> > > >
> > >
> > > Ok, got the little blighter. Below are 4 stack traces taken at
> > > random times. Doesn't seem to be doing much I/O (16 reads and 167
> > > other in 3 hours). The memory usage seems to be static (3.7MB)
> > > even with high database usage (vacuum, read, update).
> >
> > Hmm. They all show the same function, but it's not a function being
> > used in the stats collector. I think I missed a step in the
> > instructions - you need to download the symbols for the server (make
> > sure you get the same version!) and configure process explorer to
> > use those (IIRC, it can use detached symbols), then do the same
> > things again. Sorry for missing that in the first instructions!
> >
> > //Magus
> >
>
>
> Hi Magnus,
>
> Sorry I didn't reply earlier (away on holiday). I can't seem to get
> the symbols to work -
> I can't find any way to attach symbols in process explorer, however
> windows debugger can. I've done this:
> 1. Downloaded the symbols (8.3.1!)
> 2. Set the path for windows debugger to find them
> 3. Atttached to the process (offending PID found from process
> explorer)
>
> Then I get this message:
>
> Microsoft (R) Windows Debugger Version 6.9.0003.113 X86
> Copyright (c) Microsoft Corporation. All rights reserved.
>
> *** wait with pending attach
> Symbol search path is: C:\Temp\pgsymbols
> Executable search path is:
> ModLoad: 00400000 007da000 C:\Program
> Files\PostgreSQL\8.3\bin\postgres.exe
> ...........Lots more modload lines .....
> (eb4.3e4): Break instruction exception - code 80000003 (first chance)
> eax=7ffd4000 ebx=00000001 ecx=00000002 edx=00000003 esi=00000004
> edi=00000005
> eip=7c901230 esp=0235ffcc ebp=0235fff4 iopl=0 nv up ei pl zr
> na pe nc
> cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000
> efl=00000246
> *** ERROR: Symbol file could not be found. Defaulted to export
> symbols for C:\WINDOWS\system32\ntdll.dll -
> ntdll!DbgBreakPoint:
> 7c901230 cc int 3
>
> Any ideas?

Actually, that does not mean it's broken. It just says it can't find
symbols for where it was - but if this was in ntdll, that's fine. If
you bring up the full stacktrace at this point, does it contain proper
data?

//Magnus

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Ribe 2008-05-23 19:56:53 Re: best er modeling tool for postgreSQL
Previous Message Barbara Stephenson 2008-05-23 19:18:55 Re: [GENERAL] Installed pgadmin3-1.4.3 with 8.3.1 database..errors