Re: Calculating vm.nr_hugepages - Mailing list pgsql-general

From Erik Wienhold
Subject Re: Calculating vm.nr_hugepages
Date
Msg-id 1985478005.5957.1693406476870@office.mailbox.org
Whole thread Raw
In response to Calculating vm.nr_hugepages  (Troels Arvin <troels@arvin.dk>)
List pgsql-general
> On 30/08/2023 15:12 CEST Troels Arvin <troels@arvin.dk> wrote:
>
> I assume I need to find the same value as I get from running "postgres
> -C shared_memory_size_in_huge_pages". I call that my target value.
> Note: I cannot simply run "postgres -C ...", because I need my Ansible
> play to work against a server where Postgres is running.
>
> I've tried using the formula described at
> https://www.cybertec-postgresql.com/en/huge-pages-postgresql/, but it
> produces a different value than my target:
>
> Using a shared_buffers value of 21965570048, like in Cybertec
> Postgresql's example:
> "postgres ... -C 21965570048B" yields: 10719
> The formula from Cybertec Postgresql says: 10475

Probably because 21965570048B > 20GB.  What does your command look like
exactly?  Why do you use shared_buffers=21965570048B and not 20GB?  The larger
value is quoted in the last section of the linked blog post for pre-15 Postgres
and is the shared memory size that Postgres wants to allocate but fails to do
with shared_buffers=20GB.  The section also provides the formula for manually
calculating vm.nr_hugepages.

> I've also tried doing what ChatGPG suggested:
> Number of Huge Pages when shared_buffers is set to 1 GiB =
> shared_buffers / huge_page_size
>                      = 1073741824 bytes / 2097152 bytes
>                      = 512
> But that's also wrong compared to "postgres -C ..." (which said 542).

The formula from the blog post gives me 513 but it also includes some additional
shared memory for internal stuff.  So 512 is correct when the shared memory size
already includes the overhead for internal stuff.

--
Erik



pgsql-general by date:

Previous
From: Don Seiler
Date:
Subject: Re: Calculating vm.nr_hugepages
Next
From: Marc Millas
Date:
Subject: event trigger clarification