Como faço para reservar RAM na partição host do Hyper-V 2012 somente para VMs?

1

Eu tenho uma situação em que um nó de cluster do Hyper-V 2012 não pode suportar 2 VMs quando eu acho que deveria. Atualmente, estou brincando com 96 GB de RAM e quero ter 2 VMs de 47 GB em execução (RAM estática). Isso deixa 2 GB para o host, o que é suposto ser suficiente. No entanto, não posso executar a segunda VM porque o software reclama que não há memória suficiente para isso.

Em seguida, diminuí cada VM para 46 GB, mas ela ainda não suporta as duas VMs. Executando "taskmgr" do nó, ele informa 51GB "em uso" com "44.9GB" disponíveis. Não entendo por que uma VM de 46 GB incorreria em uma sobrecarga de 5 GB na partição do host. Olhando para os processos em execução, a RAM listada soma menos de 500 MB.

Gostaria de dizer ao Hyper-V para reservar todos, com exceção de 2 GB, explicitamente apenas para uso de VMs.

Além disso, seria ainda melhor saber por que o hipervisor "precisa" de 5 GB. Existe uma maneira de saber o que o Hyper-V está fazendo internamente com a RAM? Ou há um novo cálculo para o Hyper-V 2012 quanto à quantidade de RAM que o host realmente precisa (já que 2 GB não está cortando)?

Editar - 2014-02-14

Após uma revisão de quatro hosts diferentes do Hyper-V Server 2012r2 e um 2008r2, o pool Nonpaged cresce linearmente com a RAM fisicamente instalada. Não importa se a CPU é AMD ou Intel. Não importa se o host faz parte de um cluster do Windows ou não. Não importa se o host está associado a um domínio ou não. E não importa quantas VMs estão sendo executadas no host (ou quanta RAM essas VMs estão consumindo). Por fim, considero que esse também seja o comportamento de 2012r1, porque tive esses sintomas quando os hosts de 2012r2 estavam todos em 2012r1.

Em todos os casos, descobri que multiplicar a quantidade de RAM instalada (em GB) por 0,0425 dirá quanto de RAM (em GB) é perdido para o pool não paginado. (É uma estimativa aproximada muito .)

Portanto, até a Microsoft consertar o software ou admitir oficialmente que esse comportamento é inadequado, a resposta é usar o cálculo que todos normalmente usam (conforme apresentado na resposta abaixo) e, em seguida, adicionar o resultado do cálculo acima para compensar a RAM, você perderá para o pool não paginado. ( Ou, se preferir, tenho um resumo com exemplos aqui. )

PS: Acho importante notar que estou escrevendo "GB", mas estou usando apenas o que o Windows informa. Os números relatados pelo Windows e RAMMap não são GB / KB, mas, na verdade, GiB / KiB, portanto, multiplique o resultado do cálculo do Nonpaged Pool por 1024 para compará-lo com o número "K" informado pelo RAMMap.

    
por Granger 19.12.2013 / 02:23

1 resposta

1

Fonte

300 MB para o hipervisor mais 32 MB para o primeiro GB de RAM alocado para cada máquina virtual mais outros 8 MB para cada GB adicional de RAM alocado para cada máquina virtual mais 512 MB para o sistema operacional do host em execução na partição raiz

Como regra geral, planeje alocar pelo menos 512 MB de memória para que a partição raiz forneça serviços como virtualização de E / S, suporte a arquivos de instantâneo e gerenciamento de partição filho.

300 + 32 + (45 * 8) = 692MB Para a primeira VM

692 + 32 + (45 * 8) = 1084 para ambas as VMs

1084 + 512 = total de 1596MB, considerando a regra geral

Então, isso seria apenas o consumo do hipervisor. Agora, considerando que você tem mais de 5 GB usados, mesmo quando a primeira VM é provisionada. Eu sugiro olhar para a saída da lista de tarefas no prompt de comando e procurar por processos do servidor consumindo RAM

    
por 02.02.2014 / 09:14