首先打开/etc/sysctl.conf文件,查看如下两行的设置值,这里是:
kernel.shmall
=
2097152
kernel.shmmax
=
4294967295
如果系统默认的配置比这里给出的值大,就不要修改原有配置。同时在/etc/sysctl.conf文件最后,添加以下内容:
fs.file-max
=
6553600
kernel.shmmni
=
4096
kernel.sem
=
250
32000
100
128
net.ipv4.ip_local_port_range
=
1024
65000
net.core.rmem_default
=
4194304
net.core.rmem_max
=
4194304
net.core.wmem_default
=
262144
net.core.wmem_max
=
262144
这里的“fs.file-max
=
6553600”其实是由“fs.file-max
=
512
*
PROCESSES”得到的,我们指定PROCESSES的值为12800,即为“fs.file-max
=512
*12800”。
sysctl.conf文件修改完毕后,接着执行“sysctl
-p”使设置生效。
[root@localhost
~]#
sysctl
-p
常用的内核参数的含义如下。
kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4GB,即“4294967295/1024/1024/1024=4G”。
kernel.shmmni:表示单个共享内存段的最小值,一般为4kB,即4096bit.
kernel.shmall:表示可用共享内存的总量,单位是页,在32位系统上一页等于4kB,也就是4096字节。
fs.file-max:表示文件句柄的最大数量。文件句柄表示在Linux系统中可以打开的文件数量。
ip_local_port_range:表示端口的范围,为指定的内容。
kernel.sem:表示设置的信号量,这4个参数内容大小固定。
net.core.rmem_default:表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max
:表示接收套接字缓冲区大小的最大值(以字节为单位)
net.core.wmem_default:表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max:表示发送套接字缓冲区大小的最大值(以字节为单位)。
数据库启动时报错如下:[highgo@hgdb ~]$ 2018-01-15 11:36:05 CST [2840] : [1-1] user=,db= 致命错误: 无法创建信号量: 设备上没有空间
2018-01-15 11:36:05 CST [2840] : [2-1] user=,db= 详细信息: semget(5866129, 17, 03600) 系统调用失败.
2018-01-15 11:36:05 CST [2840] : [3-1] user=,db= 提示: 这个错误不表示磁盘空间已经用完. 发生的原因有可能超过系统对于最大数量信号灯集合(由参数SEMMNI表示),或者是对系统范围内最大可使用信号灯(由参数SEMMNS表示)的限制.您需要增加这两个系统核心参数的值。另外也可以通过减小PostgreSQL参数max_connections来减少它所消耗的信号灯总数.
在PostgreSQL文档中包含了更多关于如何配置PostgreSQL的信息。
问题原因
由于PostgreSQL参数max_connections和操作系统内核参数kernel.sem设置不匹配导致。
解决方案
可以通过如下任一方式更正此问题。
1.按需设置max_connections大小。
max_connections控制着最大连接数。通过如下方式修改max_connections。
[highgo@hgdb data]$ vi $PGDATA/postgresql.conf
修改max_connections值:
max_connections = 500
修改完毕后依次按"ESC :wq"四个键来保存退出。
[highgo@hgdb data]$ pg_ctl restart
waiting for server to shut down.... done
server stopped
server starting
[highgo@hgdb data]$ 2018-01-15 11:05:36 CST [2185] : [1-1] user=,db= 日志: 日志输出重定向到日志收集进程
2018-01-15 11:05:36 CST [2185] : [2-1] user=,db= 提示: 后续的日志
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)