我想建立一个让奴隶做所有构建的Jenkins Master.
主人只是一个交通警察,获得SVN钩子触发器并开始奴隶构建.
在此设置中将有大约10个Java Maven构建作业.
我希望在资源有限(RAM)的托管服务器上运行Jenkins master.
我将在我自己的网络上的一些装载良好的机器上运行奴隶.
所以我的问题是,如果分配给Master Jenkins实例,我可以获得多少RAM?256M?384M?512M?其他?
我似乎无法在Jenkins文档中找到此特定信息.
截至2016年中,官方文件说
主机的内存要求
Jenkins需要的内存量在很大程度上取决于许多因素,这就是为什么为其分配的RAM可以从小型安装的200 MB到单个大型Jenkins主服务器的70+ GB的范围。但是,您应该能够根据项目构建需求估算所需的RAM。
每个构建节点连接将占用2-3个线程,约等于2 MB或更多的内存。如果有很多用户将访问Jenkins用户界面,则还需要考虑Jenkins的CPU开销。
在主服务器上分配执行程序通常是一个坏习惯,因为构建会迅速使主服务器的CPU /内存/等过载并使实例崩溃,从而导致不必要的停机时间。取而代之的是,建议设置Jenkins主机可以将构建作业委派给其的从属服务器,以免将大部分工作留给主机本身。
一位同事问了我同样的问题,我的第一个答案是1-2 GB就足够了.后来我从Jenkins文档中发现了这个条目:
为詹金斯掌握一台强大的机器,不要在主机上运行奴隶.每个从站都在主JVM中分配了一定的内存,因此主站的RAM越大,它就越好.我们通常听到客户分配16G左右.
资料来源:https://support.cloudbees.com/hc/en-us/articles/224505688-Hardware-Requirements-for-Jenkins-Enterprise
我不认为这有一个经验法则.我们的主人使用2G,我们有6个奴隶.我们有近60个工作岗位 - 其中大多数是maven.我们过去从未遇到过记忆问题.而我们的奴隶总是很忙(我总是看到一些工作或另一个被踢掉).
您可以从512M开始,看看它是如何工作的.如果你看到内存问题增加了内存.这是我能想到的唯一方法.但要监视主服务器的内存,请使用Jenkins Monitoring Plugin.该插件集成了JavaMelody,可让您监控主服务器甚至从服务器的JVM.祝好运!