Я использую Red Hat Enterprise Linux Server версии 5. В этом случае всякий раз, когда пользовательский процесс выходит из строя из-за ошибок сегментации, он не регистрируется в / var / log / messages. Даже dmesg тоже не показывает никаких сообщений, связанных с этим.
Где, как и в других дистрибутивах (Cent OS 5), я видел сообщения segfaults в / var / log / messages всякий раз, когда мой пользовательский процесс падал. Dmesg также показывал segfaults.
Есть ли какие-либо настройки, которые нужно включить, чтобы он регистрировал ошибки в / var / log / messages.
Я перепроверил /etc/syslog.conf обеих систем. Оба одинаковые и даже файлы / etc / sysconfig / syslog.
Теперь я проверяю исходный код ядра, arch / x86 / mm / fault.c, и обнаружил сообщение об ошибке печати segfault в / var / log / messages только в версии 2.6.23 и позже. Потому что RHEL5.4 использует ядро 2.6.18, поэтому он не может записывать информацию в системный журнал.
По крайней мере, мы можем установить контроль ядра kernel.print-fatal-signals
до 1 и получить довольно подробные отчеты журнала:
[1157230.882024] Process m (pid: 1042531, veid: 0, threadinfo ffff8804dac20000, task ffff880667b6f070)
[1157230.882137]
[1157230.882190] Call Trace:
[1157812.633292] hostname.here/1045982: potentially unexpected fatal signal 11.
…
kern.info
в syslog.conf должен совпадать, насколько я могу судить.
у меня есть *.info -/var/log/messages
в моем syslog.conf, и он определенно печатает segfaults для messages
на rhel5.6 (все еще 2.6.18):
Jun 27 09:25:00 rhel5-x86-64 kernel: a.out[7527]: segfault at 0000000000000000 rip 0000000000400444 rsp 00007fff1d417460 error 6
Я думаю, ты хочешь абрт. Это будет генерировать журналы, отправлять электронные письма, отчеты о сбоях / прерываниях из cpp, python и паники ядра.