Apache启动报错No space left on device: AH00023解决办法

作者:袖梨 2022-06-25

对于这类错误是因为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]`}'

相关文章

精彩推荐