Por que o VirtualBox mostra mais CPUs do que as disponíveis?

6

Eu tenho um Intel Core i7 3930K com 6 núcleos de CPU. Agora, eu entendo que cada um desses núcleos pode lidar com 2 threads separados. Isso faz com que 12 núcleos virtuais - o que eu posso ver usando o meu monitor de sistema (veja a imagem abaixo).

Mas quando eu crio uma máquina virtual usando o software VirtualBox da Oracle, de repente eu posso alocar 24 CPUs para aquela máquina. Como assim?

Então, o que isso significa? Existem na verdade 24 núcleos - ou o VirtualBox está errado?

E o que acontece se eu alocar, por exemplo, 4 núcleos - quantos são realmente adicionados à máquina virtual?

    
por Afri 23.01.2013 / 11:43

4 respostas

11

Um núcleo, com ou sem hyper-threading, pode simular qualquer número de núcleos virtuais, simplesmente por timeslicing. No entanto, isso produz todos os tipos de problemas porque os sistemas operacionais esperam que o código em execução ao mesmo tempo seja realmente intercalado. O provisionamento excessivo pode levar a quedas de desempenho tão grandes que o sistema pode parecer congelado com as operações literalmente demorando milhares de vezes mais do que deveriam.

    
por 23.01.2013 / 12:23
1

Se você alocar 4 núcleos, você obtém 4 núcleos na VM. No entanto, quase todo o tempo é melhor alocar 1 porque você adiciona muita sobrecarga toda vez que adiciona outro núcleo.

Você pode ter no máximo 5 núcleos no seu caso, se você ultrapassar isso na área vermelha, sua máquina virtual ficará instável.

A caixa Virtual recomenda o número máximo de núcleos que você usa deve ser n-1 de seus núcleos físicos. O Hyper-Threading não conta.

Este tópico nos fóruns da caixa virtual suporta isso.

    
por 23.01.2013 / 11:50
0

O processador i7 3930K possui VT-x.

Intel® Virtualization Technology (VT-x) allows one hardware platform to function as multiple “virtual” platforms. It offers improved manageability by limiting downtime and maintaining productivity by isolating computing activities into separate partitions.

Isso significa que você é capaz de simular várias CPUs a mais do que as threads que pode manipular, assim, ver um número maior de CPUs disponíveis ao usar uma Máquina Virtual.

    
por 23.01.2013 / 12:30
0

No meu caso, usar 6 de 8 CPU s no processador de 8 threads de 8 núcleos foi mais rápido no teste do que 4 de 8, apesar do Virtual Box sugerir que eu possa ter degradação. Então eu acho que o Virtual Box evita se atirar no pé se você é novato e vai reclamar de lentidão, enquanto que como super usuário você pode passar por essa cautela.

Resposta longa:

Eu tenho Intel-Core -i7-2820QM com 4 núcleos e 8 segmentos. Eu tenho o Virtual Box 5.2.6 com host e convidado do Windows 10.

A definição de 6 CPU s em 8 nas configurações do Virtual Box Guest fornece os próximos valores em userbenchmark :

Multi core

MC Int 307
MC Float 326
MC Mixed 315
47% 316 Pts


Quad core

QC Int 270
QC Float 272
QC Mixed 268
61% 270 Pts

CPU-Z:

Definindo4CPUs:

Userbenchmark

Multi core

MC Int 260
MC Float 269
MC Mixed 269
40% 266 Pts

Quad core

QC Int 260
QC Float 264
QC Mixed 262
59% 262 Pts

CPU-Z:

Notas:

Nenhumaaceleraçãotérmica(queocorrequando100grausCelsius)aconteceuduranteasexecuçõesdeteste:

    
por 23.01.2018 / 07:42