Обсуждение: huge_page_size parameter description in the pg 14 docs is not exact

Поиск
Список
Период
Сортировка

huge_page_size parameter description in the pg 14 docs is not exact

От
"yanliang lei"
Дата:


https://www.postgresql.org/docs/15/runtime-config-resource.html#GUC-HUGE-PAGE-SIZE


the following is from the above website:

Some commonly available page sizes on modern 64 bit server architectures include: 

2MB and 1GB (Intel and AMD), 16MB and 16GB (IBM POWER), and 64kB, 2MB, 32MB and 1GB (ARM). For more information about usage and support,


but after my test, I found that: 

in the RHEL7.9(kernel version 3.10.0-1160),when I set the non default huge page size for huge_page_size parameter ,PG14 can not start;

in the RHEL8.5(kernel version 4.18.0-348),when I set the non default huge page size for huge_page_size parameter ,PG14 can start 。


so ,
I think that:
the huge_page_size parameter description in the PostgreSQL 14 documents is not exact.


I suggest that :

Some one should modify the postgreSQL 14 documents(https://www.postgresql.org/docs/15/runtime-config-resource.html#GUC-HUGE-PAGE-SIZE) like the following:

in the RHEL7.x (kernel version 3.10.0-xxx), huge_page_size parameter can not set to the non default huge page size.

Re: huge_page_size parameter description in the pg 14 docs is not exact

От
Bruce Momjian
Дата:
On Wed, Jul 20, 2022 at 09:56:37PM +0800, yanliang lei wrote:
> 
> https://www.postgresql.org/docs/15/runtime-config-resource.html#
> GUC-HUGE-PAGE-SIZE
> 
> 
> the following is from the above website:
> 
> Some commonly available page sizes on modern 64 bit server architectures
> include: 
> 
> 2MB and 1GB (Intel and AMD), 16MB and 16GB (IBM POWER), and 64kB, 2MB, 32MB and
> 1GB (ARM). For more information about usage and support,

I think these are the sizes the CPUs support, no necessarily the ones
that the operating system supports.

> but after my test, I found that: 
> 
> in the RHEL7.9(kernel version 3.10.0-1160),when I set the non default huge page
> size for huge_page_size parameter ,PG14 can not start;
> 
> in the RHEL8.5(kernel version 4.18.0-348),when I set the non default huge page
> size for huge_page_size parameter ,PG14 can start 。

The paragraph begins with:

    Some commonly available page sizes on modern 64 bit server
    architectures include:

which seems sufficient to suggest that all listed sizes might not be
supported on all operating systems, and this is only supported on Linux,
as documented.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Indecision is a decision.  Inaction is an action.  Mark Batterson




Re: huge_page_size parameter description in the pg 14 docs is not exact

От
Thomas Munro
Дата:
On Thu, Jul 21, 2022 at 2:03 AM Bruce Momjian <bruce@momjian.us> wrote:
> On Wed, Jul 20, 2022 at 09:56:37PM +0800, yanliang lei wrote:
> > https://www.postgresql.org/docs/15/runtime-config-resource.html#
> > GUC-HUGE-PAGE-SIZE
> >
> > the following is from the above website:
> >
> > Some commonly available page sizes on modern 64 bit server architectures
> > include:
> >
> > 2MB and 1GB (Intel and AMD), 16MB and 16GB (IBM POWER), and 64kB, 2MB, 32MB and
> > 1GB (ARM). For more information about usage and support,
>
> I think these are the sizes the CPUs support, no necessarily the ones
> that the operating system supports.

Yeah, that's just some sizes that the architecture *might* support.
Some eg laptop x86 chips might not have 1GB pages.  You could look at
the output of the cpuid program on Linux, or find similar info in
dmesg etc.  Then you need to tell the kernel to make some pages
available.  This message has some info from my testing of
huge_page_size:

https://www.postgresql.org/message-id/CA%2BhUKG%2BgdWThHi0v6TmiLgUE_rqqQ%2BPKw2t%2BkT6w08H36qzxpw%40mail.gmail.com