↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 配置参数

huge_pages

英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

boot val
try
category
Resource Usage / Memory
context
postmaster
documented
true
enumvals
off, on, try
extra desc
未知
lang
en
max val
未知
metadata version
18
min val
未知
name
huge_pages
short desc
Use of huge pages on Linux or Windows.
source
pg-settings-source-snapshot
unit
未知
vartype
enum

版本定义 PG 18

控制是否为主共享内存区域请求巨型页。有效值是try(默认)、on以及off。该参数只能在服务器启动时设置。如果huge_pages被设置为try,则服务器将尝试请求巨型页,但是如果失败会退回到默认的方式。如果为on,请求巨型页失败将使得服务器无法启动。如果为off,则不会请求巨型页。实际是否使用巨型页由服务器变量huge_pages_status表示。

当前,只有Linux和Windows上支持这个设置。在其他系统上这个参数被设置为try时,它会被忽略。在Linux中,它只在shared_memory_type设置为mmap(默认)的时候被支持。

巨型页的使用会导致更小的页表以及花费在内存管理上的 CPU 时间更少,从而提高性能。更多有关Linux上使用巨型页的细节请见第 18.4.5 节。

巨型页在Windows上被称为大页面。要使用大页面,需要为运行PostgreSQL的Windows用户账号分配“在内存中锁定页面”的用户权限。可以使用Windows的组策略工具(gpedit.msc)来分配用户权限“在内存中锁定页面”。为了在命令窗口以独立进程(而不是Windows服务)的方式启动数据库服务器,命令窗口必须以管理员身份运行或者禁用用户访问控制(UAC)。当UAC被启用时,普通的命令窗口会在启动时收回用户权限“在内存中锁定页面”。

注意这种设置仅影响主共享内存区域。Linux、FreeBSD以及Illumos之类的操作系统也能为普通内存分配自动使用巨型页(也被称为“超级”页或者“大”页面),而不需要来自PostgreSQL的显式请求。在Linux上,这被称为“transparent huge pages”(THP,透明巨型页)。已知这种特性对某些Linux版本上的某些用户会导致PostgreSQL的性能退化,因此当前并不鼓励使用它(与huge_pages的显式使用不同)。

比较版本

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · english-manuals:741dc2299965d10a4a4cbccea6beab0b6915b92b393164ae0aa10dadb8cb1d7b

正文语言: zh-Hans · 2026-09-11@29c86d9