Re: Estimating HugePages Requirements?
Nathan Bossart <bossartn@amazon.com>
From: "Bossart, Nathan" <bossartn@amazon.com>
To: Michael Paquier <michael@paquier.xyz>
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-21T16:06:38Z
Lists: pgsql-hackers
On 9/20/21, 7:29 PM, "Michael Paquier" <michael@paquier.xyz> wrote: > On Tue, Sep 21, 2021 at 12:08:22AM +0000, Bossart, Nathan wrote: >> Should we also initialize the shared memory GUCs in bootstrap and >> single-user mode? I think I missed this in bd17880. > > Why would we need that for the bootstrap mode? > > While looking at the patch for shared_memory_size, I have looked at > those code paths to note that some of the runtime GUCs would be set > thanks to the load of the control file, but supporting this case > sounded rather limited to me for --single when it came to shared > memory and huge page estimation and we don't load > shared_preload_libraries in this context either, which could lead to > wrong estimations. Anyway, I am not going to fight hard if people > would like that for the --single mode, even if it may lead to an > underestimation of the shmem allocated. I was looking at this from the standpoint of keeping the startup steps consistent between the modes. Looking again, I can't think of a strong reason to add it to bootstrap mode. I think the case for adding it to single-user mode is a bit stronger, as commands like "SHOW shared_memory_size;" currently return 0. I lean in favor of adding it for single-user mode, but it's probably fine either way. Nathan
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