zoukankan      html  css  js  c++  java
  • 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总内存量

  • 相关阅读:
    Android实战项目——家庭记账本(六)
    Android实战项目——家庭记账本(五)
    周总结(十五)
    Android实战项目——家庭记账本(四)
    Auto-Encoder(自编码器)原理
    Android实战项目——家庭记账本(三)
    Android实战项目——家庭记账本(二)
    Android实战项目——家庭记账本(一)
    Android实战项目——家庭记账本设计思路
    防止或减少过拟合的方式(二)——Dropout
  • 原文地址:https://www.cnblogs.com/lykops/p/8263092.html
Copyright © 2011-2022 走看看