内核参数和配置脚本,PostgreSQL需要修改CentOS
在PostgreSQL上部署CentOS,一些操作系统需要进行参数设置,以及一些(传送门)在官方文件中列出。除了这些,还有其他的设置,如最大进程数由一个单一的用户允许的情况下,一个单一的过程,最大限度的处理等,这通常需要调整。否则,系统在一定条件下会出现一些问题或性能下降,从系统资源限制类和内存参数优化类中描述如下。系统资源限制类
进程的最大数目为1。单用户允许:Linux系统默认是1024,如果PG是超过1024的最大连接数,连接的实际数量可能会小于1024 pg(邮政局长的过程中,检查点的过程中,bgwriter过程,在过程中,发送过程,日志将占据几个进程数,所以对客户细分连接数可能小于1024),连接请求将报告足够多的资源。这样的错误信息,为了避免这种情况,数量可以用来调整PG的Linux用户的过程中,通常是通过limit.conf配置。
2、单个进程可以打开的最大文件数:默认情况下Linux为1024。当SQL非常复杂时,当打开许多表或访问许多分区时,句柄数量不足。
内存参数优化类
的1.vm.dirty_background_ratio:参数控制系统在内存写肮脏的比例就会启动后台进程缓冲刷盘多少。默认值是10%,对于大内存的机器,如超过10% 64G,内存是6.4的,一旦6.4g数据写入磁盘时,会立即产生大量的磁盘IO,使系统失去响应,影响其他过程。所以,以上8g机总内存,1%推荐的设置。
2.vm.dirty_background_types:是一个参数,类似于上面。只有这个参数才能设置脏内存的绝对值。两个参数之一是0,另一个将工作。
以下是配置这些参数并测试OK的脚本。在CentOS 6 X。
复制代码代码如下所示:
#极限过程为4096而不是1024,因为我们有1024 +连接
回声Postgres软nproc 4096> / / / lmits.conf安全等
#大查询,PG可以打开超过1024个文件/会议
回声Postgres硬nofile 65535> / / / limits.conf安全等
回声软nofile Postgres 65535> / / / limits.conf安全等
#默认是10%内存,IO峰值平滑,
#设置调整后台程序刷新缓冲区更频繁
回声的虚拟机。dirty_background_ratio = 0 > / / sysctl.conf等
回声的虚拟机。dirty_background_bytes = 1024000000 > / / sysctl.conf等
#使sysctl.conf设置生效
sysctl - P
#作出限制生效
/ /初始化等。D / sshd重启