- Enables/disables the use of huge memory pages. Valid values are
- try (the default), on,
- and off.
+ Controls whether huge pages are requested for the main shared memory
+ area. Valid values are try (the default),
+ on, and off. With
+ huge_pages set to try, the
+ server will try to request huge pages, but fall back to the default if
+ that fails. With on, failure to request huge pages
+ will prevent the server from starting up. With off,
+ huge pages will not be requested.
- At present, this feature is supported only on Linux and Windows. The
- setting is ignored on other systems when set to try.
+ At present, this setting is supported only on Linux and Windows. The
+ setting is ignored on other systems when set to
+ try.
- With huge_pages set to try,
- the server will try to use huge pages, but fall back to using
- normal allocation if that fails. With on, failure
- to use huge pages will prevent the server from starting up. With
- off, huge pages will not be used.
+ Note that this setting only affects the main shared memory area.
+ Operating systems such as Linux, FreeBSD, and Illumos can also use
+ huge pages (also known as super
pages or
+ large
pages) automatically for normal memory
+ allocation, without an explicit request from
+
PostgreSQL. On Linux, this is called
+
transparent huge pages
transparent
+ huge pages (THP). That feature has been known to
+ cause performance degradation with
+
PostgreSQL for some users on some Linux
+ versions, so its use is currently discouraged (unlike explicit use of
+ huge_pages).