pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Shaun Thomas <sthomas@peak6.com>
To: Andy Colson <andy@squeakycode.net>
Cc: Robert Schnabel <schnabelr@missouri.edu>
Cc: pgsql-performance <pgsql-performance@postgresql.org>
Subject: Re: Allow sorts to use more available memory
Date: Mon, 12 Sep 2011 12:57:58 -0500
Message-ID: <4E6E4826.8050002@peak6.com> (raw)
In-Reply-To: <4E6E45CA.20606@squeakycode.net>
References: <4E6E426D.7060405@missouri.edu>
	<4E6E45CA.20606@squeakycode.net>

On 09/12/2011 12:47 PM, Andy Colson wrote:

> work_mem is not the total a query can use. I believe each step can
> use that much, and each backend can use it for multiple bits. So if
> you had two backends, each doing 2 sorts, you'd use 2*2 = 4 * 2GB =
> 8GB.

Exactly. Find a big query somewhere in your system. Use EXPLAIN to 
examine it. Chances are, that one query has one or more sorts. Each one 
of those gets its own work_mem. Each sort. The query have four sorts? It 
may use 4*work_mem. On a whim a while back, I doubled our 8MB setting to 
16MB on a test system. During a load test, the machine ran out of 
memory, swapped out, and finally crashed after the OOM killer went nuts.

Set this value *at your own risk* and only after *significant* testing. 
Having it too high can have rather unexpected consequences. Setting it 
to 1 or 2GB, unless you have VERY few threads, or a TON of memory, is a 
very, very bad idea.

-- 
Shaun Thomas
OptionsHouse | 141 W. Jackson Blvd. | Suite 800 | Chicago IL, 60604
312-676-8870
sthomas@peak6.com

______________________________________________

See http://www.peak6.com/email-disclaimer/ for terms and conditions related to this email



view thread (15+ messages)  latest in thread

Message-ID: <4E6E4826.8050002@peak6.com>
Permalink:  ../4E6E4826.8050002@peak6.com/
Also on:    postgresql.org/message-id/4E6E4826.8050002@peak6.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: sthomas@peak6.com, andy@squeakycode.net, schnabelr@missouri.edu
  Subject: Re: Allow sorts to use more available memory
  In-Reply-To: <4E6E4826.8050002@peak6.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox