¿Cómo obtener un volcado de núcleo de Apache?


8

Tengo problemas con mi servidor Ubuntu 14.10. Al realizar ciertas acciones, mi apache2 se reinicia con un error de segmentación. Para depurar este problema, me gustaría crear un volcado de memoria. He hecho lo siguiente:

  • agregado CoreDumpDirectory /tmp/apache-coredumpsal archivo de configuración
  • correr ulimit -c unlimited
  • correr apt-get install apache2-dbg php5-dbg
  • reiniciado apachey provocó el error. El registro afirma que puede haber un volcado del núcleo en el directorio, sin embargo, está vacío.

También intenté usar gdb directamente en el ejecutable de apache2, pero apache no se iniciará a menos que se inicie a través de apachectlo service apache2 start.

¿Cómo puedo obtener un volcado de núcleo para depurar mi problema O cómo puedo adjuntarlo gdbdirectamente a Apache?


Para el primero, mira aquí: serverfault.com/questions/470407/… para el último, aquí: httpd.apache.org/dev/debugging.html#gdb
Elder Geek

Lamentablemente, esto no funcionó. Intenté configurar los permisos como se sugiere en el primer enlace, sin embargo, todavía no se volcó ningún núcleo. Ya conocía el segundo enlace. Realmente no responde a mi pregunta de una manera específica de ubuntu (Ubuntu no tiene un ejecutable httpd, y llamar a apache2 directamente no funciona por las razones mencionadas anteriormente).
Andreas Hartmann

¿Es el coredump en / tmp en su lugar quizás?
Élder Geek

Especifiqué el volcado del núcleo para colocarlo en una carpeta diferente, por lo que no está en / tmp.
Andreas Hartmann

No quiero usar apport, quiero examinar mi problema localmente y no informar un error, porque probablemente no sea un error de Apache.
Andreas Hartmann el

Respuestas:


4

ulimit -c unlimited solo afecta tu caparazón actual.

Puede confirmar esto mirando la salida cat /proc/$(pidof -s apache2).

He añadido ulimit -c unlimiteda /etc/default/apache2y ahora cat /proc/$(pidof -s apache2)/limitsincluye

Max core file size        unlimited            unlimited            bytes

Intenté esto pero todavía no conseguí que Apache (12 LTS) volcara el núcleo. ¿Alguna idea?
Josip Rodin

Encontré la respuesta: apport estaba habilitado /etc/default/apporty cambió el patrón de volcado del núcleo del núcleo para adaptarse a sí mismo. Ver serverfault.com/questions/470407/…
Josip Rodin el

echo '/tmp/apache-coredumps/core-%e.%p'> / proc / sys / kernel / core_pattern
Rudger
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.