Ansible - procesor_count vs processor_cores vs processor_vcpus

sil*_*rdr 12 multithreading ansible

我对使用以下cpu事实设置服务器感到困惑:

"ansible_processor": [
    "GenuineIntel", 
    "Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz", 
    "GenuineIntel", 
    "Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz"
], 
"ansible_processor_cores": 1, 
"ansible_processor_count": 2, 
"ansible_processor_threads_per_core": 1, 
"ansible_processor_vcpus": 2, 
Run Code Online (Sandbox Code Playgroud)

它似乎正确地报告了CPU的数量,但我应该将我的工作者(线程)数量作为基础?我确信我会使用,ansible_processor_cores但它似乎只报告一个(1 - sic!)尽管报告了两个处理器!如何获得工作进程可用的线程数?

Kon*_*rov 14

查看代码 ansible_processor_vcpus应该是您的选择.
它应该包含/ proc/cpuinfo中的处理器数量(实际上是总线程数,根据这个答案.

  • `gather_facts: true` 需要使用 `ansible_processor_vcpus` 变量 (2认同)
  • 从 2020 年开始,“ansible_processor_nproc”似乎应该优先于“_vcpus”(请参阅​​ https://github.com/ansible/ansible/pull/66569) (2认同)