Activar y desactivar los coredumps
En algunas ocasiones nos podemos encontrar información útil en los coredumps para solucionar un problema. Por ejemplo, en el caso de Apache con PHP y eAccelerator algunas veces se pueden producir Segmentation Faults:
[notice] child pid 8254 exit signal Segmentation fault (11)
Mediante los coredumps podremos ver dónde se producen.
Para poder habilitarlos deberemos cambiar el tamaño máximo de los cores mediante ulimit:
ulimit -c unlimited exec /usr/local/apache22/bin/httpd -DNO_DETACH -f /usr/local/apache22/conf/httpd.conf
Si queremos hacer el cambio para todos los daemons que ejecute un determinado usuario deberemos modificar el fichero /etc/security/limits.conf:
usuario - core unlimited
Para desactivarlos simplemente deberemos bajar el valor a 0 bytes, ya sea mediante el ulimit o bien el fichero /etc/security/limits.conf.
En general, cuando se produce un Segmentation Fault causado por eAccelerator, se trata de un problema en el código que eAccelerator no lo contempla y genera el core. A medida que han avanzado las versiones de eAccelerator este problema se ha vuelto cada vez más raro.
Relacionados
Imprimir
Deja un comentario: