Search Postgresql Archives

Re: Calculating vm.nr_hugepages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 30/08/2023 15:12 CEST Troels Arvin <troels@xxxxxxxx> 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






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux