Invalid argument: could not call shmget错误处理方法

来源:互联网 发布:ttc windows 编辑:程序博客网 时间:2024/05/09 18:36

apache无法启动报如下错误:

[Tue Mar 20 12:17:27 2012] [emerg] (22)Invalid argument: could not call shmget

网上搜索有说内核sysvipc没开的,查看配置文件已经启用.

又又说shmmax参数威慑的,通过sysctl -p查看生效.通过使用方法发现是参数值设置过大所导致,按如下方法修改后正常启动.


kernel.shmmax 数值说明:
单位:字节。一般建议使用物理内存的一半
以4G内存为例:4096/2*1024*1024=2147483648

kernel.shmall 数值说明:
单位:页。1页=4k,设置数值则为物理内存大小
以4G内存为例:4096*1024*1024/4000=1073742

注:以上两项数值如果填写大于本身物理内存则会不生效。