我在几个不同的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做些什么?
感谢您的帮助
答案 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 设置的文件。