Re: Estimating HugePages Requirements?
Purav Chovatia <puravc@gmail.com>
From: P C <puravc@gmail.com>
To: Magnus Hagander <magnus@hagander.net>
Cc: Don Seiler <don@seiler.us>, Julien Rouhaud <rjuju123@gmail.com>,
Tom Lane <tgl@sss.pgh.pa.us>, pgsql-admin <pgsql-admin@postgresql.org>
Date: 2021-06-10T02:03:39Z
Lists: pgsql-hackers
I agree, its confusing for many and that confusion arises from the fact that you usually talk of shared_buffers in MB or GB whereas hugepages have to be configured in units of 2mb. But once they understand they realize its pretty simple. Don, we have experienced the same not just with postgres but also with oracle. I havent been able to get to the root of it, but what we usually do is, we add another 100-200 pages and that works for us. If the SGA or shared_buffers is high eg 96gb, then we add 250-500 pages. Those few hundred MBs may be wasted (because the moment you configure hugepages, the operating system considers it as used and does not use it any more) but nowadays, servers have 64 or 128 gb RAM easily and wasting that 500mb to 1gb does not hurt really. HTH On Thu, 10 Jun 2021 at 1:01 AM, Magnus Hagander <magnus@hagander.net> wrote: > On Wed, Jun 9, 2021 at 9:28 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > > > Magnus Hagander <magnus@hagander.net> writes: > > > On Wed, Jun 9, 2021 at 9:15 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > >> Just try to start the server and see if it complains. > > > > > Well, I have to *stop* the existing one first, most likely, otherwise > > > there won't be enough huge pages (or indeed memory) available. > > > > I'm not following. If you have a production server running, its > > pg_shmem_allocations total should already be a pretty good guide > > to what you need to configure HugePages for. You need to know to > > round that up, of course --- but if you aren't building a lot of > > slop into the HugePages configuration anyway, you'll get burned > > down the road. > > I'm talking about the case when you want to *change* the value for > shared_buffers (or other parameters that would change the amount of > required huge pages), on a system where you're using huge pages. > pg_shmem_allocations will tell you what you need with the current > value, not what you need with the new value. > > But yes, you can do some math around it and make a well educated > guess. But it would be very convenient to have the system able to do > that for you. > > -- > Magnus Hagander > Me: https://www.hagander.net/ > Work: https://www.redpill-linpro.com/ > > >
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