【问题标题】:How Much Ram For a Jenkins Master Instance?Jenkins 主实例需要多少内存?
【发布时间】:2014-03-02 13:51:12
【问题描述】:

我想设置一个 Jenkins Master,让奴隶完成所有的构建。

  • master 只是一个交通警察,获取 SVN 钩子触发器并启动 slave 构建。
  • 在此设置中将有大约 10 个 Java Maven 构建作业。
  • 我希望在资源 (RAM) 有限的托管服务器上运行 Jenkins 主服务器。
  • 我将在我自己的网络上一些负载良好的机器上运行从属服务器。

所以我的问题是,分配给主 Jenkins 实例的 RAM 可以有多少? 256M? 384M? 512M?其他?

我似乎无法在 Jenkins 文档中找到此特定信息。

【问题讨论】:

  • 感谢您的意见!只是为了澄清......主人是与奴隶分开的硬件。没有在 Master 上构建。所有构建都在从属设备上(我有充足的 RAM、磁盘和 CPU)。我将在 Master 的 512M JVM 上进行尝试,并告诉你它是如何进行的。

标签: memory-management jenkins


【解决方案1】:

我有一个拥有几十个工作和奴隶的 Jenkins 主人。但我不在 Master 上运行构建或测试。根据我的观察,内存消耗并没有那么大。它很少超过 2 或 3 GB。此外,我相信这取决于您为 Jenkins 的 java 进程指定的内存大小选项。在您的情况下,我建议您至少使用 2GB RAM。如果需要,您可以随时将构建负载平衡到从站。

【讨论】:

    【解决方案2】:

    一位同事问我同样的问题,我的第一个回答是 1-2 GB 应该足够了。后来我从 Jenkins 文档中发现了这个条目:

    为 Jenkins master 准备一台强大的机器,不要在机器上运行 slave 主机。每个从站都在主站中分配了一定的内存 JVM,所以master的RAM越大越好。我们 通常听到客户分配 16G 左右。

    来源:https://docs.cloudbees.com/docs/cloudbees-core/latest/traditional-install-guide/system-requirements

    【讨论】:

    【解决方案3】:

    我认为这没有经验法则。我们的master使用2G,我们有6个slave。我们有近 60 个工作岗位——其中大部分是 maven。我们过去从未遇到过记忆问题。而且我们的奴隶总是很忙(我总是看到一些工作或其他工作被解雇)。

    您可以从 512M 开始,看看它是如何工作的。如果您看到内存问题,请增加内存。这是我能想到的唯一方法。但是要监控你的主人的内存使用Jenkins Monitoring Plugin。这个插件集成了JavaMelody,可以让你监控你的master甚至slave的JVM。祝你好运!

    【讨论】:

      【解决方案4】:

      这取决于您要构建的内容、运行构建的频率以及构建所需的速度。根据我的经验,每个并发构建需要 1 GB,但这可能会因构建的资源密集程度而异。在最重的负载下监控您的内存使用情况,如果内存使用量达到 70-80% 或更多,则添加更多内存,大约 30-40% 或更少分配更少。

      还要注意磁盘使用情况,大约 4 年前,有一个 TeamCity 构建服务器一直处于瘫痪状态,这个问题原来是主从服务器,所有虚拟服务器共享相同的附加存储和磁盘跟不上。 VM 环境存在更多问题,但仍需牢记。

      【讨论】:

        【解决方案5】:

        截至 2016 年年中,official documentation 表示

        Master 的内存要求

        Jenkins 需要的内存量在很大程度上取决于许多因素,这就是为什么分配给它的 RAM 可以从小型安装的 200 MB 到单个大型 Jenkins 主机的 70+ GB 不等。但是,您应该能够根据您的项目构建需求估算所需的 RAM。

        每个构建节点连接将占用 2-3 个线程,这相当于大约 2 MB 或更多的内存。如果有很多用户将访问 Jenkins 用户界面,您还需要考虑 Jenkins 的 CPU 开销。

        在主服务器上分配执行程序通常是一种不好的做法,因为构建会迅速使主服务器的 CPU/内存/等超载并使实例崩溃,从而导致不必要的停机时间。相反,建议设置 Jenkins 主节点可以将构建作业委托给的从节点,从而避免主节点本身的大部分工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多