本文共 1428 字,大约阅读时间需要 4 分钟。
PG数据库部署linux参数调整
为了使PostgreSQL数据库获得最佳性能,需要正确定义操作系统参数。如果操作系统内核参数配置不当,可能会导致数据库服务器性能下降。因此,必须根据数据库服务器及其工作负载配置这些参数。主要是指在Linux系统中针对业务服务应用而进行的系统内核参数调整。
执行vim /etc/sysctl.conf,需要调整的参数添加
-a 显示所有的系统参数
-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载
PostgreSQL 每16个进程一组, 每组需要17个信号量。第一个参数必须大于等于17。最后一个参数是连接数除以16.
kernel.sem = 250 162500 250 650
第一个参数每个信息集中有多少信号量
第二个参数一共有多少个信号量,等于第一个*第四个
第四个参数有多少个信号集
第三个参数同一个操作,可以操作最多的信号量,可以和第一个参数。
方法一
vm.nr_hugepages = shared buffer/2M
建议shared buffer设置超过64GB时 使用大页,页大小 /proc/meminfo Hugepagesize。有多少个2M内存。
方法2
vm.nr_hugepages = 66536
vm.swappiness = 0
# 关闭交换分区
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%开始刷
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/