Re: Estimating HugePages Requirements?
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: "Bossart, Nathan" <bossartn@amazon.com>
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-17T02:20:30Z
Lists: 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
Commits
-
Silence extra logging when using "postgres -C" on runtime-computed GUCs
- 8bbf8461a3a2 15.0 landed
-
doc: Improve postgres command for shared_memory_size_in_huge_pages
- bbd4951b73ec 15.0 landed
-
Introduce GUC shared_memory_size_in_huge_pages
- 43c1c4f65eab 15.0 landed
-
Support "postgres -C" with runtime-computed GUCs
- 0c39c292077e 15.0 landed
-
Make shared_memory_size a preset option
- 3b231596ccfc 15.0 landed
-
Introduce GUC shared_memory_size
- bd1788051b02 15.0 landed
-
Move the shared memory size calculation to its own function
- 0bd305ee1d42 15.0 landed
-
Add new GUC, max_worker_processes, limiting number of bgworkers.
- 6bc8ef0b7f1f 9.4.0 cited