Como calcular o número de vcores em uma máquina Linux

1

Na minha máquina Linux tenho 32 vcores.

E de lscpu , posso ver o mesmo.

Para minha CPU, "Thread (s) por núcleo" é 2.

Então, isso significa que eu tenho 64 vcores?

    
por yael 13.09.2018 / 07:21

2 respostas

4

Na saída lscpu , a linha "CPU (s)" fornece o número total de CPUs lógicas (também conhecidas como encadeamentos). Se for executado dentro de uma VM, esse é o número de núcleos virtuais atribuídos à VM, no seu caso 32.

As outras informações fornecidas por lscpu fornecem mais detalhes e devem corresponder ao número de CPUs lógicas: "Thread (s) por núcleo" × "Core (s) por soquete" × "Soquete (s)” . As características das CPUs físicas no host não têm muito a ver com as características das CPUs virtuais dentro da VM, e elas não são adicionadas às alocações - se a CPU do host tiver dois threads por núcleo, que não multiplica os núcleos atribuídos dentro da VM.

    
por 13.09.2018 / 08:43
1

Se você tiver 32 Núcleos de CPU atribuídos à sua máquina Linux e cada núcleo tiver 2 encadeamentos, você terá 64 Segmentos, mas não 64 núcleos.

Geralmente, um núcleo pode executar somente thread de cada vez, mas atualmente a maior parte da CPU suporta o conceito de hyper-threading, onde a CPU encontra estágios ociosos do pipeline de thread atual para processar outro para definir um melhor multi-processamento.

Mas se sua máquina Linux for virtual, sua VM mostrará encadeamentos lógicos em vez de núcleos em sua máquina.

    
por 13.09.2018 / 07:40