Existe alguma vantagem em ter mais de 16 GB de RAM em uma máquina de desenvolvedor do Windows?

8

Assumindo uma máquina (Dual Quad Core Xeon (2,26 GHz) com 24 GB de RAM) executando o Windows Server 2008 e o Hyper-V. Quantas VMs posso esperar executar ao mesmo tempo com bom desempenho?

Isso é um exagero? Você pode realmente ter muita memória RAM?

Assumindo 2 GB por VM. São cerca de 16 GB para as VMs com 8 GB restantes para o sistema operacional principal e o Hyper-V.

Parece correto?

Editar:

Eu tentei fazer a pergunta soar menos como se gabar. Nunca foi minha intenção. É uma questão difícil de escrever.

    
por Paul 28.04.2009 / 01:51

10 respostas

7

"Eu quero executar cerca de 8 VMs ao mesmo tempo usando o Hyper-V."

Por que você gostaria de fazer uma coisa dessas?

Como é improvável que você seja capaz de carregar TODOS os 8 simultaneamente durante o desenvolvimento (exceto, talvez, para um teste de carga breve) você provavelmente pode executar todos os 8VMs em 2GB e ainda fazer bom uso de todos esses núcleos.

    
por 28.04.2009 / 02:07
4

Eu tenho algumas máquinas que executam o VMware que usamos para testes, integração contínua, etc.

Essas máquinas têm um único processador quad-core e 16 GB de RAM cada - em nossa configuração atual, observamos que:

  • Estamos ligados primeiro a I / O, segundo limite da CPU e a memória não é problema.
  • O uso do iSCSI e do OpenFiler para hospedar os discos rígidos virtuais em um servidor de arquivos dedicado separado em Ethernet de dois gigabits ajudou a reduzir custos e melhorar o desempenho em relação aos discos locais.
  • Os 16 GB de memória são subutilizados em cada máquina, com a maioria das instâncias sendo alocadas apenas entre 512 MB e 2 GB de RAM, e o sistema operacional tem 5 ou 6 GB livres.
  • Pelo custo de uma máquina Xeon dual quad core com 24 GB de RAM, você pode comprar 2 ou mais máquinas de 4+, cada uma com 16 GB de RAM e uma única CPU quad-core (evitar FBDIMMs pode economizar muito de dinheiro) - especialmente porque a redundância não é um problema com uma máquina de teste / desenvolvimento.
  • Ao testar aplicativos / ambientes complexos, geralmente é útil ter diferentes máquinas virtuais em diferentes ambientes físicos, para que você obtenha um nível real de latência de rede entre os vários serviços.

Quanto ao uso de seu equipamento para desenvolvimento - a principal preocupação para mim seria E / S - se você estiver executando muitas máquinas virtuais, verá um impacto negativo nos tempos de acesso ao disco durante o desenvolvimento, o que diminuirá a compilação, etc. Eu estaria inclinado a deslocar o maior número possível de máquinas virtuais para uma caixa separada e deixar sua máquina de revelação sem carga, para que a compilação e outras tarefas relacionadas ao desenvolvedor sejam mais rápidas.

Postagem do blog na minha configuração inicial do ano passado.

    
por 28.04.2009 / 03:15
3

Depende de qual versão do Windows você está usando. Veja algumas informações: link

O Windows Vista Business de 64 bits e superior, e o Windows Server 2008 Standard de 64 bits e superior devem ser capazes de endereçar a RAM.

    
por 28.04.2009 / 01:57
3

Com o Windows de 64 bits, endereçar essa quantidade de memória não deve ser um problema. Eu acho que sua maior preocupação seria a E / S, com muitas VMs rodando ao mesmo tempo. Eu sugiro investir em drives SAS nos RPMs mais rápidos disponíveis para suportar efetivamente muitas VMs.

    
por 28.04.2009 / 02:01
3

Eu tinha uma pergunta semelhante e, em vez de debater em termos teóricos, decidi comprar com a ideia de que eu a substituiria / atualizaria, se necessário. Acabei com um Core i7 920 com 12 GB de RAM, 2 SSDs Intel de 80 GB (RAID 0), dois HDDs SATA de 1 TB (RAID 1) e um SATA de 1 TB de 1 TB.

Eu joguei no Windows Server 2008 x64 e hospedei algumas VMs nos meus SSDs. Respostas muito, muito rápidas. (Tenho alguma experiência com VMs e sei que a E / S de disco me alimentaria hospedando um ambiente de desenvolvedor em uma VM, especialmente ao adicionar o SQL Server aos mesmos eixos.

Eu realmente gostei dessa configuração, mas então chegou um playground de VM (um Dell 1950 com 32 GB de RAM e uma pequena e bacana SAN). Eu joguei essas VMs junto com outras e carreguei o Windows 7 em meus SSDs. (Eu senti que poderia brincar com meu sistema porque agora hospedava algumas VMs independentemente da minha nova estação de trabalho.)

A maior coisa que notei foi o quanto foi melhor desenvolver em uma máquina não-VM. Não a velocidade tanto, mas os efeitos visuais, o antialiasing de fontes, etc. Os SSDs realmente fizeram o I / O um fator não, mas eles fazem tudo parecer instantâneo. (Além disso, o Windows 7 é doce.)

Eu sei que terei que reconstruí-lo quando o RTM for lançado, mas tenho VMs nas quais posso trabalhar enquanto ele está sendo reconstruído. Preciso usar o VPC em vez do Hyper-V para criar VMs que preciso garantir que ninguém mais tenha mexido, mas acho que isso é uma compensação razoável.

Em suma, eu ecoaria os outros que dizem para hospedar VMs em um servidor separado, mas gostaria de acrescentar que os SSDs da Intel são muito rápidos. máquinas separadas oferecem mais flexibilidade. Seus drives soam rápido o suficiente para testes, mas para o trabalho de desenvolvimento, o tempo é rápido.

    
por 28.04.2009 / 04:11
1

Como cada VM "possui" sua própria memória no Hyper-V, o número de VMs que você pode hospedar ativamente é limitado pela RAM disponível. Então não pode ter muito.

É claro que o maior gargalo de velocidade em uma máquina de desenvolvimento é o disco rígido. Com o RAM extra, você pode configurar uma unidade de RAM que pode ter um enorme benefício no desempenho.

    
por 28.04.2009 / 02:05
1

Você não terá problemas para endereçar essa RAM, você pode conseguir 20 GB, mas neste momento você pode obter os 4 GB extras. Por que você está fazendo isso em uma máquina de desenvolvedor? A menos que você seja um show de um homem, deve haver um servidor central que lide com coisas assim.

    
por 28.04.2009 / 02:32
1

Se o seu cenário for sobre servidores + clientes, uma configuração de várias máquinas seria melhor para simulação e mais barata. Na verdade, as VMs não são as mesmas que os sistemas operacionais nativos, a segmentação e a criação de perfis estão quebradas, portanto, você estará fora do alvo e, na verdade, não será capaz de criar um perfil adequado.

Meus 2 centavos

    
por 28.04.2009 / 02:33
1

Robert,

Se você pretende executar 8 VMs (para dev ou outras) ao mesmo tempo, recomendo explorar as opções de virtualização de servidor oferecidas pelo VMWare. Em geral, a tecnologia de virtualização de servidores é muito mais otimizada e eficiente na utilização de recursos físicos do que sua contraparte na estação de trabalho.

Eu tive a oportunidade de trabalhar com o VMWare Infrastructure 3 (que é a nomenclatura guarda-chuva da família de produtos / tecnologias de virtualização de servidores da VMWare) e devo dizer que estou impressionado. A edição do servidor é extremamente eficiente quando comparada com a versão da estação de trabalho e oferece uma flexibilidade incrível.

Eu não tenho experiência com o Hyper-V, mas muitas pessoas que o usaram falam muito sobre isso. No entanto, considero o VMWare uma alternativa superior pelo simples fato de permitir que você crie VMs que executam sistemas operacionais diferentes no mesmo host físico, algo que o Hyper-V não pode fazer (AFAIK)

No que diz respeito à RAM, as limitações da infra-estrutura VMWare 3 ultrapassam os 24Gb e permitem provisionar a memória disponível, e até mesmo cada núcleo, como desejar entre seus convidados - desde que os convidados o suportem.

Se você estiver interessado em aprender sobre o VMWare Infrastructure 3, é altamente recomendável este livro , pois ele contém discussões sobre a arquitetura do servidor VMWAre ESX e considerações técnicas que dificilmente você encontrará em qualquer outro lugar.

Espero que você ache isso útil, embora não seja uma resposta direta à sua pergunta e que você vá me desculpar (24GB para uma máquina de desenvolvimento parece um pouco fora do normal ... por um tempo pelo menos )

    
por 29.04.2009 / 00:14
0

Estamos executando o Hyper V e hospedando instâncias do Server 2003 e do XP na mesma máquina.

--- isso deveria ser uma resposta ao usuário que disse que você não pode hospedar sistemas operacionais diferentes na mesma máquina no Hyper V. Ou é assim que eu leio, de qualquer maneira.

    
por 11.06.2010 / 06:22