Я пытаюсь выяснить причину сбоя одного из моих приложений Linux. Но я не знаю, куда движется ядро.
cat /proc/sys/kernel/core_pattern
core.%e.%p
Любая идея?
Я пытаюсь выяснить причину сбоя одного из моих приложений Linux. Но я не знаю, куда движется ядро.
cat /proc/sys/kernel/core_pattern
core.%e.%p
Любая идея?
Дамп ядра записывается в текущий каталог процесса в момент сбоя.
Конечно, дампы ядра должны быть включены, по умолчанию они обычно отключены. Проверьте вывод ulimit -c
, если это 0, то файл ядра не будет записан. Запустите ulimit -c unlimited
для включения дампов ядра; это настройка для процесса, которая наследуется процессами, запущенными этим процессом.
Если дамп ядра должен был быть сгенерирован, но вы не знаете, где, тогда вы можете запустить процесс снова (если он произойдет без сбоя сразу), а затем проверить его рабочий каталог, указав, ls -l /proc/$pid/cwd
где $pid
находится идентификатор процесса. Эта ссылка будет указывать на текущий рабочий каталог этого процесса. Скорее всего, дамп ядра будет там. В противном случае вам нужно запустить find
всю систему ...
Системы, использующие systemd , обычно настроены на дамп ядер
Вы можете использовать
coredumpctl
команду для вывода списка дампов ядра. См. Также « больше-не-coredumps-после-миграции на систему»источник