SLES 10 ulimit показывает дампы ядра без ограничений, но дампов не происходит

Ограничения дампа ядра отключены для пользователя с помощью обычного механизма /etc/security/limits.conf:

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

Однако выполнение теста segfault показывает, что ядро ​​не сбрасывается:

/tmp/a.out  
Segmentation fault

Нет сообщения об удалении ядра. Хмм. /etc/security/limits.conf выглядит следующим образом:

username            -        core            unlimited

Кто-нибудь сталкивался с этим раньше? Это ошибка в SLES? Благодарю.

1 ответ

Решение

Дампы ядра были включены, но core_pattern, используемый для имен файлов, указывал на несуществующий каталог.

Это заставляет дамп ядра молча терпеть неудачу.

# cat /proc/sys/kernel/core_pattern
/cores/core.%p

# ls -la /cores
/bin/ls: /cores: No such file or directory

Исправление простое: создайте указанный каталог или измените sysctl.conf соответственно:

# mkdir /cores
# /tmp/a.out                              
Segmentation fault (core dumped)
Другие вопросы по тегам