Re: Estimating HugePages Requirements?

Nathan Bossart <bossartn@amazon.com>

From: "Bossart, Nathan" <bossartn@amazon.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Justin Pryzby <pryzby@telsasoft.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, "tgl@sss.pgh.pa.us" <tgl@sss.pgh.pa.us>, "robertmhaas@gmail.com" <robertmhaas@gmail.com>, "masao.fujii@oss.nttdata.com" <masao.fujii@oss.nttdata.com>, "andres@anarazel.de" <andres@anarazel.de>, "magnus@hagander.net" <magnus@hagander.net>, "mark.dilger@enterprisedb.com" <mark.dilger@enterprisedb.com>, "don@seiler.us" <don@seiler.us>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-09-17T16:31:44Z
Lists: pgsql-hackers

Attachments

On 9/16/21, 7:21 PM, "Michael Paquier" <michael@paquier.xyz> wrote:
> +   GetHugePageSize(&hp_size, &unused);
> +   if (hp_size != 0)
> I'd rather change GetHugePageSize() to be able to accept NULL for the
> parameter values, rather than declaring such variables.

Done.

> +    To determine the number of huge pages needed, use the
> +    <command>postgres</command> command to see the value of
> +    <xref linkend="guc-shared-memory-size-in-huge-pages"/>.
> We may want to say as well here that the server should be offline?
> It would not hurt to duplicate this information with
> postgres-ref.sgml.

Done.

> +        This setting is supported only on Linux.  It is always set to
> Nit: This paragraph is missing two <productname>s for Linux.  The docs
> are random about that, but these are new entries.

Done.

Nathan

Commits

  1. Silence extra logging when using "postgres -C" on runtime-computed GUCs

  2. doc: Improve postgres command for shared_memory_size_in_huge_pages

  3. Introduce GUC shared_memory_size_in_huge_pages

  4. Support "postgres -C" with runtime-computed GUCs

  5. Make shared_memory_size a preset option

  6. Introduce GUC shared_memory_size

  7. Move the shared memory size calculation to its own function

  8. Add new GUC, max_worker_processes, limiting number of bgworkers.