Search Postgresql Archives

Re: statistics collector process is thrashing my cpu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



William Temperley wrote:
> On Fri, May 9, 2008 at 2:55 PM, Magnus Hagander <magnus@xxxxxxxxxxxx>
> wrote:
> 
> > William Temperley wrote:
> > > On Thu, May 8, 2008 at 6:14 PM, Magnus Hagander
> > > <magnus@xxxxxxxxxxxx> 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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux