systemadmin.es > LAMP y web > Activar y desactivar los coredumps

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.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>