启动apache的时候 有时候会遇到这样的错误:No space left on device: Couldn’t create rewrite_map(XXXX)

第一眼看以为是磁盘没有空间了,其实不然;

没有空间,不存在的。。。。

Apache: No space left on device: Couldn’t create rewrite_map(XXXX)-LMLPHP

细究发现其实是:IPC的资源占用问题,先用”ipcs”命令查一下当前用于已经使用了的信号量集合;apache已经分配了这么多

Apache: No space left on device: Couldn’t create rewrite_map(XXXX)-LMLPHP

可以使用如下的指令,删除对应服务的信号量结

sem_list=$(ipcs -s | grep apache | awk '{print $2}')
for i in $sem_list
do
ipcrm -s $i
done 可以设置更改每个用户的semaphore array的最大数量
[root@vmm-web ~]# ipcs -s -l
 
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
[root@vmm-web ~]# sysctl kernel.sem
kernel.sem = 250 32000 32 128
[root@vmm-web ~]# sysctl kernel.sem="250 256000 32 1024"
[root@vmm-web ~]# sysctl kernel.sem
kernel.sem = 250 256000 32 1024
而其中kernel.sem参数的四个值分别表示:Parameters meaning:
SEMMSL – semaphores per ID
SEMMNS – (SEMMNI*SEMMSL) max semaphores in system
SEMOPM – max operations per semop call
SEMMNI – max semaphore identifiers
关于msgmni解释如下:
The parameter “msgmni” is the number of message queue ids available to the system. Each message queue requires one id. msgget() gives the error ENOSPC if all the ids have been used up.
而ipcs和ipcrm的用途如下:
ipcs – report XSI interprocess communication facilities status
ipcrm – remove an XSI message queue, semaphore set, or shared memory segment identifier

原文出处:https://blog.csdn.net/caianye/article/details/38534461

05-08 08:11