Postgres process resident size does not drop after killing statement

From: Bryce Nesbitt <bryce2(at)obviously(dot)com>
To: sql pgsql <pgsql-sql(at)postgresql(dot)org>
Subject: Postgres process resident size does not drop after killing statement
Date: 2009-04-15 03:46:58
Message-ID: 49E558B2.8000600@obviously.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


Every so often our production Postgres 8.3 system will get statement
that runs for a few hours, or a few days, or more, and needs to be
killed dead. We kill it with pg_cancel_backend(), and cpu usage of the
process immediately drops, and the process starts serving other
statements. But the curious thing is the resident size does not drop.
Is this normal? Something to be concerned about? Here's a mild example
(only 2.8 gigs):

# top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20108 postgres 16 0 4305m 2.8g 2.8g D 4 8.6 3:12.50 postgres:
production production 10.100.4.11(44200) SELECT
16306 postgres 15 0 4248m 1.5g 1.5g S 0 4.7 0:47.70 postgres:
jira jira 10.100.5.12(57517) idle
28472 postgres 15 0 4249m 1.4g 1.4g S 2 4.6 0:16.18 postgres:
production production 10.100.4.11(48457) idle

# uname -a
Linux xxxx 2.6.18-6-amd64 #1 SMP Thu Dec 25 21:08:54 UTC 2008 x86_64
GNU/Linux

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jasen Betts 2009-04-15 12:43:00 Re: changing multiple pk's in one update
Previous Message Scott Marlowe 2009-04-14 21:05:41 Re: Postgres entering zombie state once a week in production evnvironment