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

发布于 2024-11-01 00:58:25 字数 529 浏览 5 评论 0原文

我在几个不同的 Fedora Core 9 Hudson Slave 上看到 glibc 偶尔出现分段错误。我尝试配置每个从站来生成核心文件并将它们放置在 /corefiles 中,但没有成功。

以下是我在每个 linux 从机上所做的操作:

1) 创建一个 corefile 存储位置
sudo install -m 1777 -d /corefiles

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

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

是否需要一些额外的 Linux 魔法,或者我需要对 Hudson 从机或 JVM 做些什么?

感谢您的帮助

I've seeing occasional segmentation faults in glibc on several different Fedora Core 9 Hudson Slaves. I've attempted to configure each slave to generate core files and place them in /corefiles, but have had no luck.

Here is what I've done on each linux slave:

1) Create a corefile storage location
sudo install -m 1777 -d /corefiles

2) Directed the corefiles to the storage location by adding the following to /etc/sysctl.conf
kernel.core_pattern = /corefiles/core.%e-PID:%p-%t-signal_%s-%h

3) Enabled unlimited corefiles for all users by adding the following to /etc/profile
ulimit -c unlimited

Is there some additional Linux magic required or do I need to do something to the Hudson slave or JVM?

Thanks for the help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

静待花开 2024-11-08 00:58:25

编辑 /etc/sysctl.conf 后是否重新启动或运行“sysctl -p”(以 root 身份)?

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

*  soft  core  unlimited

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

Did you reboot or run "sysctl -p" (as root) after editing /etc/sysctl.conf ?

Also, if i remember correctly, ulimit values are per user and calling ulimit wont survive a boot. You should add this to /etc/security/limits.conf:

*  soft  core  unlimited

Or call ulimit in the script that starts hudson if you don't wont everyone to produce coredumps.

撩心不撩汉 2024-11-08 00:58:25

我想通了:-)。

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

I figured this out :-).

The issue is Hudson invokes the bash shell as a non-interactive shell, which will bypass the ulimit setting in /etc/profile. The solution is to add the BASH_ENV environmental variable tothe Hudson slaves and set the value to a file with ulimit -c unlimited set.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文