Executando várias VMs com o Core i3?

3

Eu tenho uma área de trabalho com o Core i3 + 8GB.

Parece que preciso atribuir um dos meus núcleos de CPU a uma VM. Isso significa que só posso executar uma VM por vez?

O aplicativo da VM realmente usa um núcleo para cada imagem de VM? Ou eles dependem da memória?

    
por user45326 10.07.2012 / 02:51

4 respostas

7

O núcleo que você atribui à VM é um núcleo virtual. Você tem um suprimento ilimitado de núcleos virtuais.

    
por 10.07.2012 / 02:57
6

Embora as outras respostas estejam corretas, há algumas coisas que você deseja saber.

  1. Não exceda o número de encadeamentos reais disponíveis no servidor em uma única VM. Por exemplo, se o seu Core i3 tiver 4 threads (ou seja, Dual Core com HTT), não crie uma VM com 8 threads. Eles vão mais frequentemente do que não surtar e realmente correr extremamente lento.

  2. Embora você possa alocar mais memória RAM às suas máquinas virtuais do que o servidor realmente possui, tome cuidado com a RAM real usada e tente não exceder o máximo do seu hardware. Você começará a usar o SWAP e isso é muito lento. É melhor baixar a RAM em cada VM se a quantidade usada estiver começando a usar o SWAP (memória virtual).

  3. O fato de seu processador ficar inativo em 25 a 50% não significa que você tenha espaço para 2 a 4 vezes o número de VMs. Você não quer rodar sua CPU em modo inativo (ou processos mínimos) muito alto. Há sempre uma quantidade natural de uso da CPU e, ao longo do tempo, você verá alguns dados estatísticos em seus servidores para saber os horários de pico e quanto mais você pode realisticamente colocar no servidor.

  4. Normalmente, com VMs e Clouds, a parte mais lenta do servidor são os discos rígidos. É melhor combinar o número de VMs que você está pensando em executar com SAN / HDDs que possam suportá-las. Meu Raid5 empurra 300MBps de forma confiável.

Minha nuvem privada tem cerca de 20 VMs em execução a qualquer momento. Algumas das VMs incluem Servidor Proxy, Servidor VPN, WHS, Servidor de Banco de Dados, 5 Aplicativos Ruby on Rails, Servidor de Telefone Astrix, 2 Servidores WordPress, Servidor Web Host Virtual (10 sites).

É uma conexão Intel Xeon E3-1270, 32 GB RAM, 8x1TB 7200 RPM RAID5 e 50 Mbps. Na maior parte, ele fica em torno de 5-10% do uso da CPU. Atinge cerca de 75% do uso da CPU. Estou usando o Proxmox como minha solução de virtualização e adoro isso. Eu tenho usado isso há alguns anos.

    
por 10.07.2012 / 03:12
2

Uma CPU em uma máquina virtual não é mapeada diretamente para uma CPU física [core]. Você pode executar com segurança dezenas de VMs, cada uma com várias CPUs virtuais, mesmo se você tiver apenas um único núcleo de CPU 'real'.

    
por 10.07.2012 / 02:58
2

Eu executei confortavelmente 3-4 VMs ao mesmo tempo em um c2d. Existem alguns conceitos aqui. Em primeiro lugar, enquanto um núcleo pode executar um thread de cada vez (sem contar hyperthreading e tal), ele pode alternar entre threads, dois núcleos é melhor, já que eles não precisam alternar um core entre threads com freqüência, mas não é um showstopper.

Não é diferente de executar várias cópias de um programa (o Chrome, por exemplo, executa um processo por guia) ou um único software multithread.

O uso da memória RAM e do processador é muito mais crítico do que o coredness, e até mesmo hosts VM dedicados têm muito menos núcleos do que as VMs em execução.

Eu também notaria que alguns softwares vm permitem que você rode mais núcleos virtuais que os físicos, então é bastante certo que você não precisa de um núcleo por vm.

    
por 10.07.2012 / 03:04