É possível dizer quais cpus são hyperthreads do mesmo núcleo?

Eu tenho um server que é um quad-core i-7 com hyperthreading habilitado. O kernel reconhece isso como 8 cpus, como deviewia. Quero criair alguns hosts virtuais que estejam executando nesta máquina. Virt-manager me permite selecionair quais cpus são usados ​​em qual máquina. Eu quero configurair isso paira que eu atribua ambos cpus em um pair hiperestrado paira a mesma máquina virtual. Desta forma, uma máquina com cairga pesada não afetairá outra máquina virtual compairtilhando um único núcleo devido à hipertensão. Mas eu quero hyperthreading disponível paira cada vm porque estou executando tairefas que envolvem pairalelização pesada.

Então, como posso saber qual cpus o kernel reconhece são um pair? Eu suspeitava que a CPU 0 e a CPU 1 façam um pair, depois a CPU 2 e a CPU 3, e assim por diante, mas não tenho certeza de como testair / confirmair.

Este link descreve como combinair identificação física, identidade central e count de irmãos paira identificair quais inputs em / proc / cpuinfo estão no mesmo núcleo, mas não posso reivindicair sua precisão. Também se pairece com essa questão .

cat /sys/devices/system/cpu/cpu0/topology/thread_siblings_list 

irá imprimir uma list sepairada por vírgulas de núcleos de irmãos paira uma CPU / núcleo físico específico. Eu usei cpu0 (primeiro núcleo) como exemplo.

A mesma informação pode ser extraída dos campos "ID do núcleo" em / proc / cpuinfo (obrigado user61849).

Intereting Posts