Re: Auto-tuning work_mem and maintenance_work_mem

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Andres Freund <andres(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Auto-tuning work_mem and maintenance_work_mem
Date: 2013-10-17 12:22:52
Message-ID: CA+TgmoaAHDg7ZgXz8DM1PdUMqy6NkSvxoSEzR+_JOg8ZN-q1kA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Oct 16, 2013 at 5:14 PM, Josh Berkus <josh(at)agliodbs(dot)com> wrote:
> On 10/16/2013 01:25 PM, Andrew Dunstan wrote:
>> Andres has just been politely pointing out to me that my knowledge of
>> memory allocators is a little out of date (i.e. by a decade or two), and
>> that this memory is not in fact likely to be held for a long time, at
>> least on most modern systems. That undermines completely my reasoning
>> above.
>
> Except that Opensolaris and FreeBSD still have the old memory allocation
> behavior, as do older Linux kernels, many of which will remain in
> production for years. I have no idea what Windows' memory management
> behavior is.
>
> So this is a case of needing to know considerably more than the
> available RAM to determine a good setting.

I agree, but I still think my previous proposal of increasing the
defaults for work_mem and maintenance_work_mem by 4X would serve many
more people well than it would serve poorly. I haven't heard anyone
disagree with that notion. Does anyone disagree? Should we do it?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Vik Fearing 2013-10-17 12:26:22 Re: [PATCH] pg_sleep(interval)
Previous Message Robert Haas 2013-10-17 12:20:38 Re: [PATCH] hstore_to_json: empty hstores must return empty json objects