【Apache】No space left on device: Couldn't create accept lock

问题:apache无法失败,错误日志信息如下。

 

[Wed Nov 07 10:47:53 2012] [emerg] (28)No space left on device: Couldn't create accept lock
[Wed Nov 07 10:54:09 2012] [error] (2)No such file or directory: Couldn't bind unix domain socket /home/admin/web-deploy/logs/cgisoc
k
 

 

原因:

 

(1) 确认是否是硬盘空间不足;结果发现不是空间的问题;

(2) 网上查看了下,发现是ipc不足。可以使用ipcs -s(|grep apache的group)

Apache can create the "accept lock" is with a semaphore. A semaphore is an inter-process communication tool that is used by Apache to communicate with it's child processes. This error message may mean that Apache couldn't create a new semaphore.

 

 

 

处理:

 

(1) 可以使用$ ipcrm -s <semid>清理指定 semaphore 

 

(2) 也可以使用下面命令,清理所有的semaphore, 注:替换nobody为apache对应的用户名

 

for semid in `ipcs -s | grep nobody | cut -f2 -d" "`;

do ipcrm -s $semid; done

 

 

IPC介绍:

IPC进程间通信(Inter-Process Communication)就是指多个进程之间相互通信,交换信息的方法。Linux IPC基本上都是从Unix平台上继承而来的。主要包括最初的Unix IPC,System V IPC以及基于Socket的IPC。另外,Linux也支持POSIX IPC。

IPC具体包含:(1)信号量,用来管理对共享资源的访问 (2)共享内存,用来高效地实现进程间的数据共享 (3)消息队列,用来实现进程间数据的传递。我们把这三种工具统称为System V IPC的对象,每个对象都具有一个唯一的IPC标识符(identifier)。要保证不同的进程能够获取同一个IPC对象,必须提供一个IPC关键字(IPC key),内核负责把IPC关键字转换成IPC标识符。   使用ipcs命令可以查看当前使用情况,使用ipcs -l查看系统配置参数。

 

 

 

参考:

http://hi.baidu.com/litto/item/ec10cc41c474ba96833ae1a4

http://blog.csdn.net/arganzheng/article/details/6275085

http://www.cnblogs.com/wangkangluo1/archive/2012/05/14/2498786.html

http://bbs.chinaunix.net/thread-1130381-1-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值