数据库
首页 > 数据库> > PostgreSQL10基础(1)Centos7配置

PostgreSQL10基础(1)Centos7配置

作者:互联网

参考文档:https://www.postgresql.org/docs/10/static/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT

IPC配置

名称 描述 Postgres值 查询方法
SHMAX 共享内存段的最大大小(字节),一般配置为服务器内存的50% 建议服务器内存的50% sysctl -a |grep shmmax
SHMALL 可用共享内存总量(字节或页面) SHMMAX/PAGE_SIZE sysctl -a |grep shmall

可通过getconf PAGE_SIZE查询PAGE_SIZE大小
以8G内存服务器为例,shmmax设置为允许4G共享内存段

修改当前IPC参数,立即生效,重启后失效

sysctl -w kernel.shmmax=4294967296
sysctl -w kernel.shmall=1048576

设置/etc/sysctl.conf中参数,重启后生效(以以8G内存服务器为例,shmmax设置为允许4G共享内存段为例)

#postgres
kernel.shmmax=4294967296
kernel.shmall=1048576

禁用RemoveIPC

防止用户注销时,操作系统移除该用户所有的共享内存段和信号量

编辑/etc/systemd/logind.conf

RemoveIPC=no

重启服务生效配置

systemctl daemon-reload
systemctl restart systemd-logind

内存设置

设置/etc/sysctl.conf中参数,重启后生效

# 当物理内存耗尽后才使用swap
vm.swappiness = 0
#内存拒绝等于或者大于总可用 swap 大小以及 overcommit_ratio(默认为50)指定的物理 RAM 比例的内存请求
#vm.overcommit_memory = 2

系统限制

可通过命令查询系统当前限制

ulimit -a

其中open files和max user processes值可能过小

修改/etc/systemd/system.conf

DefaultLimitNOFILE=10000
DefaultLimitNPROC=10000

重启系统

Huge Page

优势:

  1. Page更大(一般页为4K),内存管理更高效
  2. Huge Page不会被swap,只能存在于内存中
supermancoke 发布了36 篇原创文章 · 获赞 3 · 访问量 3万+ 私信 关注

标签:kernel,sysctl,配置,PostgreSQL10,Centos7,shmmax,内存,共享内存,shmall
来源: https://blog.csdn.net/supermancoke/article/details/104612649