如何通过 ansible-playbook 和任何最佳实践来限制 CPU 使用率?



当 ansible-playbook 运行时,我对我的 AWS EC2 实例上的 CPU 使用率进行了 Lithmus 测试。我惊讶地发现 CPU 使用率峰值为 99%。我使用Python的psutil.cpu_percent(interval=1)进行Lithmus测试。

注意:我的 EC2 Linux 机器在运行ansible-playbook之前具有 0% 的 CPU 利用率。

>>> psutil.cpu_percent(interval=1)
99.0
>>> psutil.cpu_percent(interval=1)
98.0
>>> psutil.cpu_percent(interval=1)
88.8
>>> psutil.cpu_percent(interval=1)
91.8
>>> psutil.cpu_percent(interval=1)
99.0
>>> psutil.cpu_percent(interval=1)
99.0

我想限制ansible-playbook的 CPU 使用率,因为我将运行它来实时更新生产服务器。我将如何使用任何最佳实践来限制 Ansible 的 CPU 使用率?

  1. 我应该对所有 Python 进程使用 Linuxrenice吗?
  2. 我应该使用 Python 还是内置 Ansible 选项来限制 CPU 使用率?

谢谢!

尝试修改运行 ansible-playbook 时使用的分叉数量。将数字设置为低于服务器上内核数的任何值

ansible-playbook -f 1

如果这不起作用,请尝试使用 cpulimit 工具

apt-get install cpulimit
cpulimit -l 50 ansible-playbook -f 1

最新更新