Re: Estimating HugePages Requirements?

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: "Bossart, Nathan" <bossartn(at)amazon(dot)com>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, "tgl(at)sss(dot)pgh(dot)pa(dot)us" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "robertmhaas(at)gmail(dot)com" <robertmhaas(at)gmail(dot)com>, "masao(dot)fujii(at)oss(dot)nttdata(dot)com" <masao(dot)fujii(at)oss(dot)nttdata(dot)com>, "andres(at)anarazel(dot)de" <andres(at)anarazel(dot)de>, "magnus(at)hagander(dot)net" <magnus(at)hagander(dot)net>, "mark(dot)dilger(at)enterprisedb(dot)com" <mark(dot)dilger(at)enterprisedb(dot)com>, "don(at)seiler(dot)us" <don(at)seiler(dot)us>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Estimating HugePages Requirements?
Date: 2021-09-17 02:20:30
Message-ID: YUP7btkWd2R6uEeU@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-hackers

On Thu, Sep 16, 2021 at 09:26:56PM +0000, Bossart, Nathan wrote:
> I'm not sure I agree on this one. The documentation for huge_pages
> [0] and shared_memory_type [1] uses the same phrasing multiple times,
> and the new shared_memory_size GUC uses it as well [2]. I don't see
> anything in the documentation that suggests that shared_buffers is the
> only thing in the main shared memory area, and the documentation for
> setting up huge pages makes no mention of any extra memory that needs
> to be considered, either.

Looks rather sane to me, FWIW. I have not tested on Linux properly
yet (not tempted to take my bets on the buildfarm on a Friday,
either), but I should be able to handle that at the beginning of next
week.

+ 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.

+ 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.

+ 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.
--
Michael

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Nikhil Shetty 2021-09-17 08:57:14 Re: initdb fails with error
Previous Message Bossart, Nathan 2021-09-16 21:26:56 Re: Estimating HugePages Requirements?

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2021-09-17 02:31:38 Refactoring postgres_fdw code to rollback remote transaction
Previous Message Andres Freund 2021-09-17 01:52:44 Re: pgstat_send_connstats() introduces unnecessary timestamp and UDP overhead