当前位置 主页 > 服务器问题 > Linux/apache问题 >

    apache启动报 shmget() failed: Invalid argument的解决方法

    栏目:Linux/apache问题 时间:2019-02-26 14:18

    在apache启动时报错:“shmget() failed: Invalid argument”,如何解决呢?这里简单分享下,方便需要的朋友

    在用的apache服务器,启动报错:

    复制代码 代码如下:
    shmget() failed:  Invalid argument
    Failed to start up concurrent users module!

    经检查为kernel.shmmax设置未生效(copy另一系统的,数值设置大了)

    如下:

    复制代码 代码如下:
    [root@localhost ~]# sysctl -a | grep shmm
    kernel.shmmni = 4096
    kernel.shmmax = 0

    [root@localhost ~]# vi /etc/sysctl.conf
    kernel.shmmax = 2147483648
    kernel.shmall = 1073742

    [root@localhost ~]# sysctl -p
    [root@localhost ~]# sysctl -a | grep shm       
    vm.hugetlb_shm_group = 0
    kernel.shmmni = 4096
    kernel.shmall = 1073742
    kernel.shmmax = 2147483648


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

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

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

    希望以上介绍的解决方法,可以解决大家遇到的问题。