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

(编辑:jimmy 日期: 2024/9/21 浏览:2)

在用的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

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

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

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。