当 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 使用率?
- 我应该对所有 Python 进程使用 Linux
renice
吗? - 我应该使用 Python 还是内置 Ansible 选项来限制 CPU 使用率?
谢谢!
尝试修改运行 ansible-playbook 时使用的分叉数量。将数字设置为低于服务器上内核数的任何值
ansible-playbook -f 1
如果这不起作用,请尝试使用 cpulimit 工具
apt-get install cpulimit
cpulimit -l 50 ansible-playbook -f 1