Включение CoreDump в Apache

Для траблшутинга и решения проблем при появлении ошибок в логе [notice] child pid 3979 exit signal Segmentation fault (11) необходимо подключить дамп ядра.

В системах с systemd добавить в /etc/systemd/system/multi-user.target.wants/httpd.service в раздел [Service]:

LimitCORE=infinity

Так как ОС по дефолту не дает делать дампы из-за лимитов, можно указать для текущего сеанса (до перезагрузки) анлим:

ulimit -c unlimited

И проверить, должно быть так:

 ulimit -a
core file size          (blocks, -c) unlimited
...

Далее стандартно: создать директорию с правами на запись и поправить конфиги.

mkdir -p /var/coredumps
chmod a+w /var/coredumps
echo /var/coredumps/core-%e-%s-%u-%g-%p-%t > /proc/sys/kernel/core_pattern
/etc/httpd/conf/httpd.conf:

CoreDumpDirectory /var/coredumps
service httpd restart

Для последующего анализа используется утилита gdb

Понравилась статья? Поделиться с друзьями: