> I have a fairly large (about 30Gb) PostgreSQL 8.1 database
> running on Windows 2003 Server.
> I noticed that CPU utilization on the server is 100% for past
> few days, and postgres process is taking up most of that CPU
> (95%-100%). There is only one connection to the database at
> the time and that one is not doing any queries.
>
> I turned off stats collector, and any row stat collectors,
> and I increased the number of check points since I have been
> getting the error about check point switches being to
> frequent. Postgres now uses a bit less CPU (60-90%), which is
> still a lot considering that no processing is being done. Is
> there anything else I can do to lower this CPU utilization?
> Is there a way I can pinpoint exactly what part of postgres
> is using this CPU?
Use a tool like Process Explorer (www.sysinternals.com). Open the
process that uses the CPU. There will be a handle to an object whose
name contains information about what the process is (stats process,
bgwriter, or backend. If backend, it'll also show what the backend is
doing, just like the ps output on Unix).
//Magnus