当Pg连接数达到一定数量时,Pgsql进程会终止,报Out of Memory

Q: 当Pg连接数达到一定数量时,Pgsql进程会终止,报Out of memory
A:在 Linux 2.4 以及之后的版本里,缺省的虚拟内存的设置对于 PgSQL而言不是最优的(32M)。原因也可能在于内核实现内存提交的方法导致出现了“过提交”内存(具体情况由于没有遇到,不作评述),如果其它进程的内存请求导致系统用光虚拟内存,那么内核可能会立即终止 PGSQL 服务器进程并会出具Out of memory报错,唯一的解救方法只能手工kill掉数据库进程,重启数据库。修改方法为:

sysctl -w kernel.shmmax=134217728
sysctl -w kernel.shmall=2097152
sysctl -w vm.overcommit_memory=2
或者直接echo进proc中去(我个人喜欢比较传统的操作)
echo 134217728 >/proc/sys/kernel/shmmax
echo 2097152 >/proc/sys/kernel/shmall
echo 2 > /proc/sys/vm/overcommit_memory
考虑到并不是每个人都乐意于每次开机都作此操作,最好还是修改/etc/sysctl.config文件添加相应的设置。

Slony不同步数据?

Q:配置了Slony,并未报错,但数据没同步过来
A:你要同步的表都设置主键了么,如果没有设主键的Slony配置表的属性的时候要加Serial属性哦

Slony同步数据非常慢?

Q:Slony同步数据非常慢,需要20~30s,且配置Slony的机器上cpu消耗严重?
A:检查slony同步的时间间隔,默认是10000微妙,这个数值还不错,别设置太低了。


原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]

捐款订阅54chen
捐赠说明

Comments