【问题标题】:How do do configure a Hudson linux slave to generate core files?如何配置一个 Hudson linux slave 来生成核心文件?
【发布时间】:2011-08-05 18:30:35
【问题描述】:

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

这是我对每个 linux slave 所做的:

1) 创建corefile存储位置
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 做些什么?

感谢您的帮助

【问题讨论】:

    标签: linux hudson coredump


    【解决方案1】:

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

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

    *  soft  core  unlimited
    

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

    【讨论】:

    • 是的,我确实在编辑后重新启动了。我不知道limits.conf。我会试试看。谢谢!
    • 我不确定 /etc/security/limits.conf 是否适用,这仅适用于 pam_limits。无论如何,它并没有解决问题。
    【解决方案2】:

    我想通了 :-)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 2018-11-24
      • 1970-01-01
      • 2011-07-01
      • 2013-07-24
      • 2011-08-01
      • 1970-01-01
      相关资源
      最近更新 更多