aboutsummaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/postgres-ref.sgml
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2021-09-21 10:31:58 +0900
committerMichael Paquier <michael@paquier.xyz>2021-09-21 10:31:58 +0900
commit43c1c4f65eab77bcfc4f535a7e9ac0421e0cf2a5 (patch)
tree225d15405ade653c8e3cd5aa28c15a64e7ba2154 /doc/src/sgml/ref/postgres-ref.sgml
parent5e6716cde5749aea506dd3f30b099b6e9b4c5af8 (diff)
downloadpostgresql-43c1c4f65eab77bcfc4f535a7e9ac0421e0cf2a5.tar.gz
postgresql-43c1c4f65eab77bcfc4f535a7e9ac0421e0cf2a5.zip
Introduce GUC shared_memory_size_in_huge_pages
This runtime-computed GUC shows the number of huge pages required for the server's main shared memory area, taking advantage of the work done in 0c39c29 and 0bd305e. This is useful for users to estimate the amount of huge pages required for a server as it becomes possible to do an estimation without having to start the server and potentially allocate a large chunk of shared memory. The number of huge pages is calculated based on the existing GUC huge_page_size if set, or by using the system's default by looking at /proc/meminfo on Linux. There is nothing new here as this commit reuses the existing calculation methods, and just exposes this information directly to the user. The routine calculating the huge page size is refactored to limit the number of files with platform-specific flags. This new GUC's name was the most popular choice based on the discussion done. This is only supported on Linux. I have taken the time to test the change on Linux, Windows and MacOS, though for the last two ones large pages are not supported. The first one calculates correctly the number of pages depending on the existing GUC huge_page_size or the system's default. Thanks to Andres Freund, Robert Haas, Kyotaro Horiguchi, Tom Lane, Justin Pryzby (and anybody forgotten here) for the discussion. Author: Nathan Bossart Discussion: https://postgr.es/m/F2772387-CE0F-46BF-B5F1-CC55516EB885@amazon.com
Diffstat (limited to 'doc/src/sgml/ref/postgres-ref.sgml')
-rw-r--r--doc/src/sgml/ref/postgres-ref.sgml3
1 files changed, 2 insertions, 1 deletions
diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml
index f72c3b04e42..55a3f6c69d1 100644
--- a/doc/src/sgml/ref/postgres-ref.sgml
+++ b/doc/src/sgml/ref/postgres-ref.sgml
@@ -143,7 +143,8 @@ PostgreSQL documentation
<para>
This can be used on a running server for most parameters. However,
the server must be shut down for some runtime-computed parameters
- (e.g., <xref linkend="guc-shared-memory-size"/> and
+ (e.g., <xref linkend="guc-shared-memory-size"/>,
+ <xref linkend="guc-shared-memory-size-in-huge-pages"/>, and
<xref linkend="guc-wal-segment-size"/>).
</para>