如何知道ansible真正可以处理的分叉数量。 当我将--forks设置为100时,例如,如果我有100多个主机,或者ansible不能超过最大值,它是否真的启动了100个任务?这取决于实际是什么?
答案 0 :(得分:2)
关于基于CPU和内存的最大派生数,可以在Ansible Tower文档中找到有关每种硬件要求的最大派生数的唯一文档:
建议每100个分支4 GB RAM ...每个分支约100MB ... [fork的CPU容量]的基准值为每个内核4个fork。
现在,如果您不仅仅想通过一条宽泛的规则进行优化,这实际上会变得更加复杂。该文档提供了可用于根据硬件规格确定最大派生值的公式和算法。这来自capacity determination documentation。
请注意,在这些公式中,您应该忽略作为Ansible塔管理费用一部分的因素。还请注意,确实在一个地方,文档声称每个叉子100MB,在其他地方则声称每100个叉子4GB,这在数学上是不一致的。