我想设置一个Jenkins Master,让奴隶可以完成所有构建。
所以我的问题是,如果分配给Master Jenkins实例,我可以获得多少RAM? 256M? 384M? 512M?其他
我似乎无法在Jenkins文档中找到此特定信息。
答案 0 :(得分:17)
一位同事问我同样的问题,我的第一个答案是1-2 GB就足够了。后来我从Jenkins文档中发现了这个条目:
Jenkins master& amp;不要在上面运行奴隶 主机。每个从站都在主站中分配了一定的内存 JVM,因此主机的RAM越大,它就越好。我们 通常会听到客户分配16G左右。
答案 1 :(得分:6)
我不认为这有一个经验法则。我们的主人使用2G,我们有6个奴隶。我们有近60个工作岗位 - 其中大多数是maven。我们过去从未遇到过记忆问题。我们的奴隶总是很忙(我总是看到一些工作,或者另一个被踢掉)。
你可以从512M开始,看看它是如何工作的。如果你看到内存问题增加了内存。这是我能想到的唯一方法。但要监控主人的记忆,请使用Jenkins Monitoring Plugin。该插件集成了JavaMelody,可让您监控主服务器甚至从服务器的JVM。祝你好运!
答案 2 :(得分:5)
截至2016年中期,official documentation表示
主人的内存要求
Jenkins需要的内存量在很大程度上取决于许多因素,这就是为其分配的RAM范围从小型安装的200 MB到单个大型Jenkins主机的70+ GB。但是,您应该能够根据项目构建需求估算所需的RAM。
每个构建节点连接将占用2-3个线程,相当于大约2 MB或更多的内存。如果有许多用户将访问Jenkins用户界面,您还需要考虑Jenkins的CPU开销。
在主服务器上分配执行程序通常是一种不好的做法,因为构建可能会快速超载主服务器的CPU /内存/等并使实例崩溃,从而导致不必要的停机时间。相反,建议设置Jenkins主服务器可以委派构建作业的从属服务器,使大部分工作保持在主服务器本身之外。
答案 3 :(得分:1)
我有一个Jenkins大师,有几十个工作和奴隶。但我不会在Master上运行构建或测试。根据我的观察,记忆消耗并不是那么大。它很少超过2或3 GB。另外我相信它取决于您指定Jenkins的java进程的内存大小选项。在你的情况下,我建议至少2GB内存。如果需要,您可以始终将构建负载平衡到从属。
答案 4 :(得分:0)
这取决于您正在构建的内容,运行构建的频率以及构建它们的速度。根据我的经验,每个并发构建需要1 GB,但这可能会因您的构建资源密集程度而异。在最负载的情况下监控内存使用情况,如果内存使用率在70-80%或更高之间增加内存,则大约30-40%或更少分配。
还要关注磁盘的使用情况,大约4年前有一个TeamCity构建服务器不断下降,这个问题最终成为主服务器和所有虚拟服务器共享相同的附加存储和磁盘的服务器无法跟上。 VM环境存在更多问题,但仍需要牢记。