postgres10配置huge_pages

操作系统

修改/boot/grub2/grub.cfg

定位到第一个‘menuentry 'CentOS Linux’,在“linux16 /vmlinuz”最后面添加

numa=off transparent_hugepage=never default_hugepagesz=2M hugepagesz=2M hugepages=1536

*hugepagesz表示页面大小,2M和1G选其一,默认为2M。

hugepages表示大页面数

总共大页面内存量为hugepagesz*hugepages,这里为3G

例子:

menuentry 'CentOS Linux (3.10.0-693.5.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-d8179b22-8b44-4552-bf2a-04bae2a5f5dd' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod xfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  34f87a8d-8b73-4f80-b0ff-8d49b17975ca
        else
          search --no-floppy --fs-uuid --set=root 34f87a8d-8b73-4f80-b0ff-8d49b17975ca
        fi
        linux16 /vmlinuz-3.10.0-693.5.2.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rhgb quiet LANG=en_US.UTF-8 numa=off transparent_hugepage=never default_hugepagesz=2M hugepagesz=2M hugepages=1536
        initrd16 /initramfs-3.10.0-693.5.2.el7.x86_64.img
}

重启系统

重启后可以使用grep Huge /proc/meminfo查看配置情况。看到下面的数据表示已经生效

HugePages_Total:    1536
HugePages_Free:     1499
HugePages_Rsvd:     1024
HugePages_Surp:        0
Hugepagesize:       2048 kB

数据库配置

postgresql.conf

huge_pages = on
shared_buffers = 2GB  # 使用2G内存,这个值需要小于总共大页面内存量

注意

如果postgresql.conf配置huge_pages=on时,且shared_buffers值等于huge_page总内存量(hugepagesz*hugepages)时,数据库无法启动,报如下错误:

This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space. 

解决办法shared、_buffers值要小于huge_page总内存量

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值