Should the number of page should always be correlated to the VmPeak of the postmaster or could it be set to reflect shared_buffer or another setting?
Thanks!
The documentation implies that you may need to adjust its size when you change shared_buffer settings.
I usually check it every now and then (I haven't build a formal monitor yet.) to see if all of the huge pages are free/used and if it looks like they are all getting consumed - consider bumping it higher. If there are lots free, you are probably fine.
cat /proc/meminfo | grep -i "^huge"
--
Also regarding my note on effective_io_concurrency, which I'm not sure you tried tweaking yet.
With file system and hardware caching between you and your spindles, your best setting for effective_io_concurrency may be much higher than the actual number of spindles. It is worth experimenting with. If you can, try several values. You can use pg_bench to put consistent workloads on your database for measurement purposes.