`
lykops
  • 浏览: 86081 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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总内存量

分享到:
评论

相关推荐

    postgres_exporter_v0.5.1_linux-amd64.tar.gz

    2. 配置文件(如`postgres_exporter.yml`):用于配置Postgres_exporter,包括连接数据库的参数、暴露的指标和监控频率等。 3. 证书和密钥(如果支持SSL连接):用于安全地连接到PostgreSQL服务器。 4. 文档或README...

    postgres_vectorization_test, 矢量执行器,用于加速 PostgreSQL.zip

    postgres_vectorization_test, 矢量执行器,用于加速 PostgreSQL 向量执行器今年夏天我在Citus数据上暂存,并实现了sql的矢量执行器。 我们观察到了 3 -4x的性能改进,对于简单的选择查询,并决定打开我的项目。本文...

    Postgres_Plus_Advanced_Server_JDBC_Connector_Guide_CN_v1.1[1]

    该指南覆盖了JDBC连接器的安装、配置、使用以及高级功能,为Java应用与Postgres Plus数据库之间的通信提供了坚实的基础。 #### JDBC连接器概述 JDBC是Java平台上的标准数据库访问API,允许Java应用程序与广泛的...

    postgres-REL_14_5.tar.gz

    在压缩包子文件的文件名称列表中,只列出了 "postgres-REL_14_5",这意味着压缩包可能包含整个 PostgreSQL 14.5 的安装结构,包括可执行文件、配置文件、文档、库文件等。安装或编译 PostgreSQL 时,用户需要解压此...

    postgres_exporter-0.9.0.linux-amd64.tar.gz

    5. Prometheus配置中添加Postgres Exporter作为目标,设置拉取间隔。 使用Postgres Exporter时,可以自定义监控项,例如: - `pg_stat_database`: 显示每个数据库的统计信息,如连接数、缓存命中率等。 - `pg_stat_...

    vscode-postgres-master.zip_FT1_extension_postgres_vscode_vsix

    压缩包子文件的文件名"vscode-postgres-master.zip"和"vscode-postgres-master"暗示了扩展的主要源代码可能包含在这个目录结构中,其中可能包括了扩展的源码文件、配置文件、README文档、许可证信息等。 这个扩展的...

    Python库 | is_valid_postgres_column_name-0.0.1-py3-none-any.whl

    标题中的"Python库 | is_valid_postgres_column_name-0.0.1-py3-none-any.whl"指的是一款Python库,名为`is_valid_postgres_column_name`,版本号为0.0.1。该库专门用于验证是否符合PostgreSQL数据库的列名规则。...

    关于如何配置ST_Geometry及使用大全

    ArcSDE 配置 ST_Geometry 使用 大全

    将硬件传感器数据暴露给 Graphite / InfluxDB / Prometheus / Postgres_C#_代码_下载

    将硬件传感器数据 暴露给 Graphite / InfluxDB / Prometheus / Postgres / Timescaledb OhmGraphite 是一项 Windows 服务,可将硬件传感器数据公开给度量存储,允许人们在Grafana或其他时间序列 UI 中创建信息丰富...

    check_postgres:Nagios check_postgres插件,用于检查PostgreSQL数据库的状态

    为了部署`check_postgres`,管理员需要将其安装在Nagios服务器上,并根据实际环境调整配置文件。配置文件中可以设定要监控的数据库实例、检查频率、报警阈值等参数。一旦设置完成,Nagios将按照预设的间隔自动运行...

    event_bus_postgres:event event_bus的Postgres事件存储

    【event_bus_postgres:event event_bus的Postgres事件存储】 在软件开发中,事件驱动架构是一种常见的设计模式,它允许应用程序通过发布和订阅事件来进行通信。`event_bus_postgres` 是一个针对 Elixir 语言的库,...

    tables_postgres.sql

    quartz定时任务框架,数据库脚本pgsql版本,tables_postgres.sql; quartz定时任务框架

    centos7离线安装postgres10和postgis

    首先,你需要准备一个包含所有必需软件包的压缩文件,如"centos7离线安装postgres10"。这个压缩包应该包括以下内容: 1. PostgreSQL 10的RPM包:通常包括`postgresql10`, `postgresql10-server`, `postgresql10-...

    postgres_exporter:用于Prometheus的PostgreSQL度量标准导出器

    CI测试的PostgreSQL版本: 9.4 , 9.5 , 9.6 , 10 , 11 , 12 , 13 快速开始 该软件包可用于Docker: # Start an example database docker run --net=host -it --rm -e POSTGRES_PASSWORD=password postgres #...

    wasmer-postgres::computer_disk::spider_web:Postgres库用于运行WebAssembly二进制文件

    7. **安装与使用**: 使用wasmer-postgres可能涉及安装扩展、配置PostgreSQL以及编写和运行WASM模块。开发者需要了解PostgreSQL的扩展机制和WASM的编译流程。 8. **集成示例与测试**: 项目中的例子和测试用例可以...

    ansible-role-postgres

    Ansible 角色:Postgres 在 CentOS 6.5 上安装最小的 Postgres 9.3 要求 没有任何。 角色变量 默认值: postgres_port: 5432 postgres_listen_addresses: 本地主机 postgres_pg_hba 可选变量: postgres_pg_hba...

    Postgres-XL数据库集群配置说明

    在配置Postgres-XL数据库集群时,需要遵循一系列步骤,这些步骤包括集群设计、软件安装、环境变量的配置、以及GTM(全局事务管理器)和数据节点的初始化。 首先,关于集群设计,需要对集群中的各台主机进行角色分配...

Global site tag (gtag.js) - Google Analytics