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