Como reservo RAM na partição host do Hyper-V 2012 apenas para VMs?

Como reservo RAM na partição host do Hyper-V 2012 apenas para VMs?

Tenho uma situação em que um nó de cluster do Hyper-V 2012 não pode suportar 2 VMs quando 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 deve ser suficiente. No entanto, não consigo executar a segunda VM porque o software reclama que não há memória suficiente para ela.

Em seguida, diminuí cada VM para 46 GB, mas ainda não suporta as 2 VMs. Executando “taskmgr” a partir do nó, ele relata 51 GB “em uso” com “44,9 GB” disponíveis. Não entendo por que uma VM de 46 GB incorreria em uma sobrecarga de 5 GB na partição host. Observando os processos em execução, a RAM listada soma menos de 500 MB.

Gostaria de dizer ao Hyper-V para reservar explicitamente apenas 2 GB, exceto para uso da VM.

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 existe um novo cálculo para o Hyper-V 2012 sobre a quantidade de RAM que o host realmente precisa (já que 2 GB não é suficiente)?

Editar - 14/02/2014

Após uma revisão de quatro hosts Hyper-V Server 2012r2 diferentes e um 2008r2, o pool não paginável cresce linearmente com a RAM instalada fisicamente. 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 em execução no host (ou quanta RAM essas VMs estão consumindo). Por fim, considero que esse também é o comportamento do 2012r1, porque tive esses sintomas quando os hosts do 2012r2 eram todos 2012r1.

Em todos os casos, descobri que multiplicar a quantidade de RAM instalada (em GB) por 0,0425 informará quanta RAM (em GB) foi perdida no pool não paginável. (É ummuitoestimativa aproximada.)

Portanto, até que a Microsoft conserte seu software ou admita oficialmente que esse comportamento é intencional, a resposta é usar o cálculo que todos comumente usam (conforme apresentado na resposta abaixo) e, em seguida, adicionar o resultado do cálculo acima para contabilizar. RAM você perderá para o pool não paginável. (Ou, se quiser, tenho um resumo com exemplos aqui.)

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

Responder1

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 host em execução na partição raiz

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

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

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

1084+512=1596MB total contabilizando a regra prática

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 sugeriria olhar a saída da lista de tarefas no prompt de comando e procurar processos do servidor que consomem RAM

informação relacionada