如何配置Hudson linux slave来生成核心文件?

时间:2011-04-14 18:07:36

标签: linux hudson coredump

我在几个不同的Fedora Core 9 Hudson Slaves中看到了glibc中的偶然分段错误。我试图配置每个slave生成核心文件并将它们放在/ corefiles中,但没有运气。

以下是我在每个linux slave上所做的事情:

1)创建核心文件存储位置
sudo install -m 1777 -d /corefiles

2)将以下内容添加到 /etc/sysctl.conf 中,将核心文件定向到存储位置 kernel.core_pattern = /corefiles/core.%e-PID:%p-%t-signal_%s-%h

3)通过将以下内容添加到 / etc / profile ,为所有用户启用无限核心文件 ulimit -c unlimited

是否需要一些额外的Linux魔法,还是需要对Hudson slave或JVM做些什么?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

在编辑/etc/sysctl.conf之后,您是否重启或运行“sysctl -p”(以root用户身份)?

另外,如果我没记错的话,ulimit值是每个用户,并且调用ulimit不会在启动后存活。您应该将其添加到/etc/security/limits.conf:

*  soft  core  unlimited

如果您不希望每个人都生成coredump,请在启动hudson的脚本中调用ulimit。

答案 1 :(得分:0)

我想出来了:-)。

问题是Hudson将bash shell作为非交互式shell调用,它将绕过 / etc / profile 中的ulimit设置。解决方案是将BASH_ENV环境变量添加到Hudson从属设备,并将值设置为 ulimit -c unlimited 设置的文件。