詹金斯大师的实例有多少?

问题描述 投票:17回答:5

我想建立一个让奴隶做所有构建的Jenkins Master。

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

所以我的问题是,如果分配给Master Jenkins实例,我可以获得多少RAM? 256M? 384M? 512M?其他?

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

memory-management jenkins
5个回答
17
投票

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

为詹金斯掌握一台强大的机器,不要在主机上运行奴隶。每个从站都在主JVM中分配了一定的内存,因此主站的RAM越大,它就越好。我们通常听到客户分配16G左右。

资料来源:https://support.cloudbees.com/hc/en-us/articles/224505688-Hardware-Requirements-for-Jenkins-Enterprise


6
投票

我不认为这有一个经验法则。我们的主人使用2G,我们有6个奴隶。我们有近60个工作岗位 - 其中大多数是maven。我们过去从未遇到过记忆问题。而我们的奴隶总是很忙(我总是看到一些工作或另一个被踢掉)。

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


5
投票

截至2016年中期,official documentation

主人的记忆要求

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

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

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


1
投票

我有一个Jenkins大师,有几十个工作和奴隶。但我不会在Master上运行构建或测试。根据我的观察,记忆消耗并不是那么大。它很少超过2或3 GB。另外我相信它取决于您指定Jenkins的java进程的内存大小选项。在你的情况下,我建议至少2GB内存。如果需要,您可以始终将构建负载平衡到从属。


0
投票

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

还要密切关注磁盘的使用情况,大约4年前有一个TeamCity构建服务器不断下降,这个问题变成了主人和所有虚拟服务器共享相同的附加存储和磁盘的问题赶上。 VM环境存在更多问题,但仍需要牢记。

© www.soinside.com 2019 - 2024. All rights reserved.