让CentOS默认生成core dump

CentOS中默认设置了ulimit -c 0也就是默认程序不生成core dump,这样很麻烦,每次启动程序前都要让用户先执行一次ulimit -c ulimited,有时候用户忘记则不生成core,很不利于错误分析,所以研究了下如何让系统默认就生成core.

在网上找了部分资料,看到了

CentOS 5中ulimit值调整并永久生效的方法

http://www.sunchis.com/html/os/linux/2011/0609/338.html

这篇文章,其中说通过编辑/etc/security/limits.conf文件可以实现ulimit的值设定,测试了nofile后的确可行,但是写入了

* soft core ulimited
* hard core ulimited

重新登陆却没有效果

[root@localhost ~]# ulimit -a
core file size          (blocks, -c) 0

通过研究,发现/etc/profile文件中有一句

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

二话不说,把第二行用#注释掉后,即

# No core files by default
#ulimit -S -c 0 > /dev/null 2>&1

保存重新登陆用户,再次查看,一切正常!

[root@localhost ~]# ulimit -a
core file size          (blocks, -c) ulimited

    • vera
    • 2011年08月9日

    完全看不懂……哎,果然你是sheldon级别的!

    [回复]

    • 春林
    • 2011年10月4日

    请问,现在还有人人餐厅的工具么,,求解答,我会关注你的。

    [回复]

    Free 回复:

    呵呵,不好意思,不关注人人餐厅很多年了:)

    [回复]

  1. 没有通告