X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by postgresql.org (Postfix) with ESMTP id E0E649DC9AD for ; Thu, 29 Dec 2005 18:42:55 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 13020-06 for ; Thu, 29 Dec 2005 18:42:57 -0400 (AST) X-Greylist: from auto-whitelisted by SQLgrey- Received: from smtpauth06.mail.atl.earthlink.net (smtpauth06.mail.atl.earthlink.net [209.86.89.66]) by postgresql.org (Postfix) with ESMTP id BC5A09DC833 for ; Thu, 29 Dec 2005 18:42:53 -0400 (AST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=dk20050327; d=earthlink.net; b=WhrXh+lkeSd3d5GgcOjXXQgwrMvK0r8vM+1cd19FYEmu42t8BC6DxDvYNAfFYPU9; h=Received:Message-Id:X-Mailer:Date:To:From:Subject:In-Reply-To:References:Mime-Version:Content-Type:X-ELNK-Trace:X-Originating-IP; Received: from [70.22.244.95] (helo=ron-6d52adff2a6.earthlink.net) by smtpauth06.mail.atl.earthlink.net with asmtp (Exim 4.34) id 1Es6U3-0005Cg-7R; Thu, 29 Dec 2005 17:42:55 -0500 Message-Id: <6.2.5.6.0.20051229173718.01dbfff0@earthlink.net> X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6 Date: Thu, 29 Dec 2005 17:42:51 -0500 To: "Jeffrey W. Baker" , pgperf From: Ron Subject: Re: Invulnerable VACUUM process thrashing everything In-Reply-To: <1135894162.2223.4.camel@toonses.gghcwest.com> References: <1135894162.2223.4.camel@toonses.gghcwest.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-ELNK-Trace: acd68a6551193be5d780f4a490ca69563f9fea00a6dd62bc518200e96b37f39d8a0df2bed94bcda5350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 70.22.244.95 X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0.171 required=5 tests=[AWL=0.171] X-Spam-Score: 0.171 X-Spam-Level: X-Archive-Number: 200512/652 X-Sequence-Number: 16473 Ick. Can you get users and foreign connections off that machine, lock them out for some period, and renice the VACUUM? Shedding load and keeping it off while VACUUM runs high priority might allow it to finish in a reasonable amount of time. Or Shedding load and dropping the VACUUM priority might allow a kill signal to get through. Hope this helps, Ron At 05:09 PM 12/29/2005, Jeffrey W. Baker wrote: >A few WEEKS ago, the autovacuum on my instance of pg 7.4 unilaterally >decided to VACUUM a table which has not been updated in over a year and >is more than one terabyte on the disk. Because of the very high >transaction load on this database, this VACUUM has been ruining >performance for almost a month. Unfortunately is seems invulnerable to >killing by signals: > ># ps ax | grep VACUUM >15308 ? D 588:00 postgres: postgres skunk [local] VACUUM ># kill -HUP 15308 ># ps ax | grep VACUUM >15308 ? D 588:00 postgres: postgres skunk [local] VACUUM ># kill -INT 15308 ># ps ax | grep VACUUM >15308 ? D 588:00 postgres: postgres skunk [local] VACUUM ># kill -PIPE 15308 ># ps ax | grep VACUUM >15308 ? D 588:00 postgres: postgres skunk [local] VACUUM > >o/~ But the cat came back, the very next day ... > >I assume that if I kill this with SIGKILL, that will bring down every >other postgres process, so that should be avoided. But surely there is >a way to interrupt this. If I had some reason to shut down the >instance, I'd be screwed, it seems.