Unanswered: Runaway queries? Idle processes chewing up CPU.
This morning, after 6 months of planning - we migrated our system from MSSQL2000 to Postgres 8.3. Apart from the usual problems you'd expect from this transition, it's running great. I love it!
Using the Process Explorer tool, I've noticed that two of the child postgres.exe processes are chewing up 25% of the CPU usage each (we have two dual-core CPUs, presumably they are each chewing up a core). They've been doing this for a while (over a week, actually). I checked their entries in pg_stat_activity and found that they're actually Idle. Why on earth would this be happening?
There doesn't seem to be any performance drop for other users (I guess they aren't accessing the HDD) so it's not yet worth a reboot, however it's a bit alarming, and will undoubtedly reduce parallel performance during heavier usage. Plus well it's just, wrong.
I encountered this problem during our testing phase. I couldn't pinpoint the cause and didn't take it too seriously, however I'm a bit concerned this made it into production. Last time, I tried restarting the Postgres service, I actually had to forcibly close those two processes using Task Manager before the service would successfully stop.
Any thoughts on what these are, or how I could diagnose the problem further?
I would take this question to the postgres mailing list (either -admin or -users)
I know that under *nix systems pg modifies the process entry such that each process shows what it's doing (log writer, autovacuum etc). I don't think this is possible in Windows but the command lines for the processes are different. I think the log writer has -forklog (but that is only a wild guess) then I see things like -forkboot and -forkcol (stats collector??) and --forkavlauncher.
I'm pretty sure someone from the PG mailing list can pinpoint the internal PG process from those parameters.
You might also want to try ProcessMonitor to see what the processes are doing in detail. With ProcessMonitor you can check IO, Network, Registry and other activities for a process.
Hi shammat, thanks for the tip. The processes started before we released to production, so it isn't clear that any production activity actually caused them. I've forcefully killed them off - if it happens again, I'll take it to mailing lists.