由于安装的时候,没有优化系统内核和pg的参数,在出现比较高压力的情况下,数据库会会比较吃力了。

   所以就想着优化一下数据库,其中一个选项的优化就是shared_buffer,按照官方文档的说法,这个选项设置为物理内存的25%,服务器的内存为8G,故将此选项设置为1G:

shared_buffers = 2048MB

设置好之后,重启postgresql,

 
  
  1. $ pg_ctl start -D /usr/local/pgsql/data 
  2. server starting 

看到上面的提示,以为一切很顺利,但很快就发现自己错了。

 
  
  1. $lsof  -i :5432 

敲下命令后,并没有输入想要的结果,觉得是有问题了,查看post的log,发现有报错:

原来是系统的内核参数kern.rpc.SHMALL的默认值太小了,需要将其放大

 
  
  1. #sysctl kern.ipc.shmmax=5368709120 

设置好之后,再来启动postgresql就可以起来了。