在用的apache服務(wù)器,啟動(dòng)報(bào)錯(cuò):
shmget() failed: Invalid argument
Failed to start up concurrent users module!
經(jīng)檢查為kernel.shmmax設(shè)置未生效(copy另一系統(tǒng)的,數(shù)值設(shè)置大了)
如下:
[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 數(shù)值說(shuō)明:
單位:字節(jié)。一般建議使用物理內(nèi)存的一半
以4G內(nèi)存為例:4096/2*1024*1024=2147483648
kernel.shmall 數(shù)值說(shuō)明:
單位:頁(yè)。1頁(yè)=4k,設(shè)置數(shù)值則為物理內(nèi)存大小
以4G內(nèi)存為例:4096*1024*1024/4000=1073742
注:以上兩項(xiàng)數(shù)值如果填寫大于本身物理內(nèi)存則會(huì)不生效。
希望以上介紹的解決方法,可以解決大家遇到的問(wèn)題。