[Fri Jul 13 22:03:17 2012] [emerg] (28)No space left on device: mod_fcgid: Can't create global fcgid-pipe mutex
[Fri Jul 13 22:07:05 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Jul 13 22:07:05 2012] [error] (28)No space left on device: Cannot create SSLMutex
Configuration Failed
pero si hay espacio en disco
# df -h
S.ficheros Size Used Avail Use% Montado en
/dev/xvda2 77G 17G 57G 23% /
tmpfs 1,5G 0 1,5G 0% /dev/shm
/dev/xvda1 97M 49M 44M 53% /boot
y si hay nodos
# df -hi
S.ficheros Inodes IUsed IFree IUse% Montado en
/dev/xvda2 4,9M 224K 4,7M 5% /
tmpfs 367K 1 367K 1% /dev/shm
/dev/xvda1 26K 44 26K 1% /boot
El problema esta en los semáforos, los cuales se terminaron;
¿Qué es un semáforo? En palabras sencillas es una bandera que esta en el sistema operativo la cual utiliza para pausar ejecuciones con la finalidad de sincronizarlas; por ejemplo una aplicación pudiera estar esperando un semáforo de un servicio de disco duro indicándole que la información esta lista, tan pronto el semáforo se pone en verde la aplicación continua su ejecución.
Comprobar si el problema son semáforos:
Cantidad de semáforos ejecutados globalmente
# ipcs -s | grep -c .
Cantidad de semáforos ejecutados por apache
# ipcs -s |grep apache | grep -c .
# sysctl -a | grep sem
kernel.sem = 200 32000 32 128
Solución
Ejecutar:
# ipcs -s | grep apache | awk ' { print $2 } ' | xargs ipcrm sem
reiniciar apache y listo.
en lo personal me agrada editar /etc/init.d/httpd
busquen start() y despúes de ahí agrego el comando de eliminar semáforos existentes
....
# when not running is also a failure. So we just do it the way init scripts
# are expected to behave here.
start() {
ipcs -s | grep apache | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}',
....
....
Por otro lado si tu servidor cuenta con mucho tráfico se incremente la probabilidad de repetir el problema y para evitarlo podemos aumentar la cantidad de semáforos editando /etc/sysctl.conf , agrego:
kernel.sem = 250
y ejecuto:
# sysctl -p
el valor por default son 200, si realmente tienes mucha carga de trabajo puedes probar con una cantidad mayor, pero sin exagerar.
No hay comentarios:
Publicar un comentario