博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PG数据库部署linux参数调整
阅读量:4171 次
发布时间:2019-05-26

本文共 1428 字,大约阅读时间需要 4 分钟。

PG数据库部署linux参数调整

概述

为了使PostgreSQL数据库获得最佳性能,需要正确定义操作系统参数。如果操作系统内核参数配置不当,可能会导致数据库服务器性能下降。因此,必须根据数据库服务器及其工作负载配置这些参数。主要是指在Linux系统中针对业务服务应用而进行的系统内核参数调整。

1 配置方法

执行vim /etc/sysctl.conf,需要调整的参数添加

-a   显示所有的系统参数

-p   从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

2 数据库关心的OS内核参数

2.1 信号量 kernel.sem

PostgreSQL 每16个进程一组, 每组需要17个信号量。第一个参数必须大于等于17。最后一个参数是连接数除以16.

kernel.sem = 250 162500 250 650

第一个参数每个信息集中有多少信号量

第二个参数一共有多少个信号量,等于第一个*第四个

第四个参数有多少个信号集

第三个参数同一个操作,可以操作最多的信号量,可以和第一个参数。

2.2 大叶内存vm.nr_hugepages(疑问)

方法一

vm.nr_hugepages = shared buffer/2M 

建议shared buffer设置超过64GB时 使用大页,页大小 /proc/meminfo Hugepagesize。有多少个2M内存。

方法2

vm.nr_hugepages = 66536

2.3 关闭swap交换分区

vm.swappiness = 0           

#  关闭交换分区

2.4 疑问区(讲的都不一样)

vm.overcommit_memory=2          # 默认0,申请内存可以超过物理内存总数。oom-killer 杀进程。2不要超分配的策略。

vm.overcommit_ratio=50        # 分配内存不能超过,物理内存*百分比+swap   128G 16G  85%左右比较合适 最多分配124GB

vm.dirty_background_ratio=1  # 超过1% 在后台刷

vm.dirty_ratio=2              # 超过2%开始刷

3 资源限制

vim /etc/security/limits.conf 

  noproc 是代表最大进程数

        nofile 是代表最大文件打开数 

 memlock是代表锁定内存大小

core文件的作用:

  当程序崩溃时,内核有可能把该程序当前内存映射到core文件中,方便程序员找到程序出现问题的地方,最常出现的,几乎所有C程序员都出现过的“段错误”了。也是最难查出问题原因的一个错误

core文件是什么:

 核心文件(core file),也称为核心转存(core dump),是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。这种信息往往用于调试

* soft    nofile  1024000       #表示任何一个用户可以打开的最大的文件描述符数量      

* hard    nofile  1024000           

* soft    nproc   unlimited             #表示任何一个用户可以打开的最大的进程数

* hard    nproc   unlimited           

* soft    core    unlimited           

* hard    core    unlimited           

* soft    memlock  unlimited           

* hard    memlock  unlimited

 

转载地址:http://etbai.baihongyu.com/

你可能感兴趣的文章
在oracle中通过connect by prior来实现递归查询!
查看>>
百度空间如何才能另存为 mht
查看>>
How to Reset or Change Microsoft Office 2007 Product License Key or Volume License Key (VLK)
查看>>
使用java concurrent调用xmlp api生成pdf
查看>>
Oracle日期计算之INTERVAL
查看>>
Oracle PL/SQL之EXCEPTION
查看>>
Oracle PL/SQL之EXCEPTION -- WHEN OTHERS THEN
查看>>
Oracle PL/SQL之VARCHAR2 QUALIFIER
查看>>
Oracle PL/SQL之处理index不连续的table类型变量
查看>>
Oracle PL/SQL之嵌套表(Nested Table)
查看>>
Oracle PL/SQL之令人不解的提示(nls_date_format)
查看>>
Oracle PL/SQL之GROUP BY ROLLUP
查看>>
Oracle PL/SQL之GROUP BY CUBE
查看>>
蓝桥杯2018省赛 - A3 乘积尾零
查看>>
蓝桥杯2018省赛 - A4 第几个幸运数
查看>>
命令窗口中javac(即javac.exe)不可用的原因
查看>>
如何完全卸载VS2010
查看>>
【算法概论】分治算法:计算数组中的逆序对
查看>>
【算法概论】分治算法:查找中位数
查看>>
【算法概论】分治算法:k路归并
查看>>