diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index e4a01699e4..b6b309a943 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1363,14 +1363,15 @@ include_dir 'conf.d' - Enables/disables the use of huge memory pages. Valid values are - try (the default), on, - and off. + Controls whether huge memory pages are requested for the main shared + memory area. Valid values are try (the default), + on, and off. - At present, this feature is supported only on Linux. The setting is - ignored on other systems when set to try. + At present, explicitly requesting huge pages is supported only on + Linux. The setting is ignored on other systems when set to + try. @@ -1386,6 +1387,18 @@ include_dir 'conf.d' to use huge pages will prevent the server from starting up. With off, huge pages will not be used. + + + Note that, besides explicitly requesting huge pages via + huge_pages, operating systems including Linux, + FreeBSD and Illumos can also use huge pages (sometimes known as "super" + pages or "large" pages) automatically, without an explicit request from + PostgreSQL. In Linux this automatic use is + called "transparent huge pages" but, for some Linux kernel versions, + transparent huge pages are known to cause performance degradation with + PostgreSQL so, unlike + huge_pages, their use is discouraged. +