【问题标题】:SHMMAX / SHMALL Kernel parameters for postgres database with huge_pages on带有huge_pages的postgres数据库的SHMMAX / SHMALL内核参数
【发布时间】:2021-12-17 19:22:45
【问题描述】:

我已将 postgres 服务器上的 RAM 从 8 GB 升级到 16 GB,并将 shared_buffer 设置为 4 GB。我也准备好了

vm.nr_hugepages = 2300 

postgres doc计算

kernel.shmmax = 8589934592 (8GB) 

Postgres 配置为使用 huge_page (huge_page = 'on'):

  grep -i hugepages /proc/meminfo
AnonHugePages:         0 kB
HugePages_Total:    2300
HugePages_Free:      167
HugePages_Rsvd:        4
HugePages_Surp:        0
Hugepagesize:       2048 kB

kernel.shmall的正确配置是什么?

根据文档kernel.shmall 显示的页面内存数量(getconf PAGE_SIZE--> 4096)但 Hugepagesize:2048 kb。当前配置是kernel.shmall=4096,考虑到 PAGE 大小为 2048 kb,但我不确定这是否正确。如果有问题,你能帮我理解这个配置吗?要设置kernel.shmall 我必须考虑PAGE size = 2048 kbPAGE size = 4096 byte?这些参数的最佳配置是什么?

谢谢

【问题讨论】:

    标签: postgresql linux-kernel database-administration postgres-10


    【解决方案1】:

    PostgreSQL v10 使用 POSIX 共享内存,除非您设置 shared_memory_type = sysv,因此 System V 共享内存内核参数无关紧要,您不必调整它们。

    【讨论】:

    • 感谢 Laurenz,只是出于好奇,如果我们有 PostgreSQL 9.3 之前的 postgres 版本,应该考虑什么正确的页面大小?
    • 我不知道,但我会把它设置得非常高。这只是一个限制。
    猜你喜欢
    • 2019-03-16
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 2016-01-28
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多