Re: Debugging infrequent pegged out CPU usage

From: Chris <dmagick(at)gmail(dot)com>
To: Jason Long <mailing(dot)list(at)supernovasoftware(dot)com>
Cc: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Debugging infrequent pegged out CPU usage
Date: 2008-11-03 23:05:45
Message-ID: 490F83C9.9040208@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Jason Long wrote:
> Scott Marlowe wrote:
>> On Mon, Nov 3, 2008 at 12:25 PM, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> wrote:
>>
>>> On Mon, Nov 3, 2008 at 11:30 AM, Jason Long
>>> <mailing(dot)list(at)supernovasoftware(dot)com> wrote:
>>>
>>>> I am running PostgreSQL 8.3.4 on Centos 5.2 with a single Xeon 5472, 1600
>>>> MHz, 12 MB cache, 3.0 GHz quad core, and 4 GB RAM.
>>>>
>>>> My database is only about 50 MB and there are only about 20 users.
>>>>
>>>> For some reason Postgres is pegging my CPU and I can barely log on to reboot
>>>> the machine. After reboot all is well for another week or so, but this
>>>> brings the system to a grinding halt.
>>>>
>>>> What is the best way to debug this?
>>>> Can I limit Postgres to a certain number of cores or set the timeout on the
>>>> queries to a lower value?
>>>>
> How about preventing this lockup by limiting CPU resources to Postgres
> or giving up if a query takes too long? I am barely able to log in let
> alone poke around.

You can't limit cpu usage but you can set timeouts.

See statement_timeout here:

http://www.postgresql.org/docs/8.3/interactive/runtime-config.html

Set up your logging.

Even if you do have to reboot, you can at least go back through the logs
to find out what happened just before the reboot.

--
Postgresql & php tutorials
http://www.designmagick.com/

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-11-03 23:51:02 Re: INSERT with RETURNING clause inside SQL function
Previous Message Diego Schulz 2008-11-03 22:35:41 Re: INSERT with RETURNING clause inside SQL function