This wiki show cases how to make sure your httpd generates Core Dumps on different platforms.
Generally there are two things to make sure:
The first is usually controlled by an Operating System facility which either globally or locally limits this ability.
The latter can either be controlled by the OS, or to a certain extend by the daemon. In Apache httpd we have CoreDumpDirectory is a hint to the daemon to chdir(2) to a directory where it can leave behind a core file.
This is, because daemons usually run in /
where they do not have write permissions.
We can extend apachectl
to enable coredumps by writing:
ulimit -c unlimited |
Note that this is what controls core dump settings on a user/session base. For system wide settings see:
/etc/security/limits.conf
, respectively limits.conf(5).
To help with CoreDumpDirectory, see core(5) how generate a core_pattern, which you can set via:
sysctl -w kernel.core_pattern=/some/core/pattern |
Depending on the shell, we can either use ulimit -c unlimited
if we're using sh(1), or, if we use csh(1):
limit coredumpsize unlimited |
Note that this is what controls core dump settings on a user/session base. For system wide settings see: /etc/login.conf
, respectively login.conf(5), or set the kernel.coredumps
to 1:
sysctl kern.coredumps=1 |
To help with CoreDumpDirectory, see core(5) how generate a corefile
which you can set via:
sysctl kern.corefile=/some/core/pattern |
Everything of the above can be controlled via coreadm(1M), see this How To for a comprehensive list of examples.