From: Robert Schnabel <schnabelr@missouri.edu>
To: sthomas@peak6.com <sthomas@peak6.com>
Cc: Andy Colson <andy@squeakycode.net>
Cc: pgsql-performance <pgsql-performance@postgresql.org>
Subject: Re: Allow sorts to use more available memory
Date: Mon, 12 Sep 2011 13:22:51 -0500
Message-ID: <4E6E4DFB.2070605@missouri.edu> (raw)
In-Reply-To: <4E6E4826.8050002@peak6.com>
References: <4E6E426D.7060405@missouri.edu>
<4E6E45CA.20606@squeakycode.net>
<4E6E4826.8050002@peak6.com>
On 9/12/2011 12:57 PM, Shaun Thomas wrote:
> 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.
>
Yep, I know. But in the context of the data warehouse where *I'm the
only user* and I have a query that does, say 4 large sorts like
http://explain.depesz.com/s/BrAO and I have 32GB RAM I'm not worried
about using 8GB or 16GB in the case of work_mem = 4GB. I realize the
query above only used 1.9GB for the largest sort but I know I have other
queries with 1 or 2 sorts that I've watched go to disk.
Bob
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: schnabelr@missouri.edu, sthomas@peak6.com, andy@squeakycode.net
Subject: Re: Allow sorts to use more available memory
In-Reply-To: <4E6E4DFB.2070605@missouri.edu>
* 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