Postgresql - 无法创建共享内存段:无法分配内存

时间:2015-05-15 12:51:41

标签: postgresql birt

这个问题已被多次询问过,但对大多数人的回答是有效的。所以,我怀疑还缺少其他东西。

OS:  $ cat /proc/version
Linux version 2.6.32-431.29.2.el6.x86_64 (mockbuild@x86-026.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Sun Jul 27 15:55:46 EDT 2014

当我尝试启动PostGreSQL时,出现以下错误:

[reportadmin /opt/birt/modules/BIRTiHub]$ ./startPostgreSQL.sh

Starting startpostgresql at Fri 05/15/2015 08:03:29

AC_SERVER_HOME=/opt/BIRTiHubFType/modules/BIRTiHub/iHub
2015-05-15 12:03:30 UTC  27379 LOG:  loaded library "pg_stat_statements"
2015-05-15 12:03:30 UTC  27379 FATAL:  could not create shared memory segment: Cannot allocate memory
2015-05-15 12:03:30 UTC  27379 DETAIL:  Failed system call was shmget(key=8433001, size=290635776, 03600).
2015-05-15 12:03:30 UTC  27379 HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMALL.  To reduce the request size (currently 290635776 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
    The PostgreSQL documentation contains more information about shared memory configuration.
pg_ctl: could not start server
Examine the log output.

此外,我已将shmmax和shmall值调整为大于且小于(尊重)请求的值。

[root /opt/birt]$ sysctl -p
....
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 134217728

换句话说:

shmall    =134217728
Requested =290635776
shmmax    =68719476736 

知道可能出现什么问题吗?

d

0 个答案:

没有答案