最近有朋友说:Apache启动报错No space left on device: AH00023,是怎么回事,该怎么解决呢?经过小编的一番折腾,问题解决,下面把解决办法分享给大家,需要的朋友可以参考下
Apache启动报错No space left on device: AH00023 http://www.iis7.com/b/ssyqdq/ 错误可能是进程导致了,虽然小编不知道什么原因但网上提供的解决办法确实是可以解决我们的问题,下面来看看。
对于这类错误是因为linux系统的ipc信号量造成的,apache启动时,会创建很多子进程。他们是通过信号量来和子进程进行通信的。
信号量介绍:
信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况;共享内存是运行在同一台机器上的进程间通信最快的方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。在Linux系统下 ,常用的方式是通过shmXXX函数族来实现利用共享内存进行存储的。
解决办法:
/etc/init.d/httpd stop 停止apache服务
for i in ipcs -s | awk '/apache 启动进程用户/ {print $2}'; do (ipcrm -s $i); done
/etc/init.d/httpd start 启动apache
后来在网上一解决 办法也整理一下供各位参考。
AH00016: Configuration Failed
ipcs -s | grep apache | awk ’ { print $2 } ’ | xargs -n 1 ipcrm-
ipcs -s | grep web | perl -e ‘while () { @a=split(/\s+/); print ipcrm sem $a[1]}’
以上内容是有关Apache启动报错No space left on device: AH00023的解决办法,希望大家喜欢。