Apache报告No space left on device的解决办法
今天在开发时突然apache无法启动了。表现为,输入 httpd -X
后片刻自动退出,
同时在error_log中有如下内容:
[Fri Aug 15 10:54:31 2008] [emerg] (28)No space left on device: Couldn't create accept lock
df
一下发现不是磁盘空间的问题。Google了一下就找到了解决方案,原来是系统的信号量(?)不够用了。
用以下命令可以查看所有的信号量:
# ipcs -s
______________________________ Semaphore Arrays ______________________________
key semid owner perms nsems
0x00000000 19234816 nobody 600 1
0x00000000 19267585 nobody 600 1
0x00000000 19300354 nobody 600 1
0x00000000 19398659 nobody 600 1
0x00000000 19431428 nobody 600 1
0x00000000 19464197 nobody 600 1
0x00000000 19562502 nobody 600 1
然后用这行命令删除所有的信号量即可:
ipcs -s | grep nobody | perl -lane 'print `ipcrm sem $F[1]`'