SLES 10 ulimit 显示核心转储不受限制,但没有发生转储

SLES 10 ulimit 显示核心转储不受限制,但没有发生转储

使用正常 /etc/security/limits.conf 机制的用户的核心转储限制已被禁用:

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

但是,运行段错误测试表明没有核心被转储:

/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)

相关内容