A Memória Dinâmica do Hyper-V foi introduzida pela primeira vez no Windows Server 2008 R2 com SP1. Antes de seu lançamento, uma máquina virtual Hyper-V (VM) começaria e executaria com a quantidade total de RAM atribuída a ela, o que resultava em sobrecarga de memória e afetava o desempenho geral da VM. Além disso, a quantidade de memória VM disponível só poderia ser alterada quando a VM estava desligada. Assim, é razoável que a alocação de memória estática precisasse ser substituída pela alocação de memória dinâmica e o recurso de Memória Dinâmica do Hyper-V foi introduzido.
O Que É a Memória Dinâmica do Hyper-V?
A Memória Dinâmica do Hyper-V é um recurso que permite alocar dinamicamente recursos de memória para as VMs em execução em ambientes Hyper-V. Essa funcionalidade recupera uma parte da memória não utilizada pelas VMs que não precisam dela naquele momento específico e, em seguida, reatribui a memória recuperada para outras VMs que realmente a requerem.
Com a Memória Dinâmica do Hyper-V, você pode especificar a quantidade de memória de inicialização que a VM pode usar, definir o intervalo de memória física disponível para uma VM específica e determinar a prioridade da VM para alocação de memória. A memória física pode ser atribuída de forma eficiente e dinâmica à VM conforme necessário e com impacto mínimo no desempenho. Como resultado, você tem um controle mais granular sobre o uso da memória e uma otimização de recursos aprimorada.
Vantagens e Desvantagens da Memória Dinâmica do Hyper-V
A Memória Dinâmica do Hyper-V é um recurso útil que oferece muitas vantagens, como:
- Redução do consumo de memória, já que a VM utiliza apenas a quantidade de memória que realmente precisa dentro dos limites definidos por um administrador
- Distribuição eficiente de memória, pois é possível atribuir dinamicamente mais ou menos memória à VM em execução
- Números de consolidação mais altos devido ao uso mais eficiente dos recursos de memória
- Confiabilidade aprimorada para operações de reinicialização com a ajuda do Hyper-V Smart Paging
- Eficiência de custos, pois os recursos da VM não são desperdiçados
No entanto, o Hyper-V Dynamic Memory também possui algumas desvantagens que podem afetar negativamente o desempenho da memória da VM. Elas incluem o seguinte:
- Risco de provisionamento excessivo de memória física do computador caso você não acompanhe a alocação de memória dentro do seu ambiente virtual
- Algumas configurações de memória não podem ser alteradas quando a VM está em execução. Assim, você não pode diminuir ou aumentar a quantidade máxima e mínima de memória, bem como modificar a quantidade de memória inicial da VM, quando a VM ainda está em execução ou pausada.
- Quando o Hyper-V Dynamic Memory está habilitado, podem ocorrer problemas com aplicativos de banco de dados. É recomendável que você use aplicativos compatíveis com o Hyper-V Dynamic Memory para evitar problemas de desempenho.
Configurações de Memória Dinâmica do Hyper-V O Hyper-V Dynamic Memory inclui cinco configurações de VM que podem ser configuradas no Gerenciador Hyper-V . Para isso, abra o Gerenciador Hyper-V, selecione a VM necessária, clique em Configurações e escolha Memória. Você verá o seguinte:
O Hyper-V Dynamic Memory inclui cinco configurações de VM que podem ser configuradas no Gerenciador Hyper-V. Para isso, abra o Gerenciador Hyper-V, selecione a VM necessária, clique em Configurações e escolha Memória. Você verá o seguinte:
No entanto, antes de começar a configurar as configurações do Hyper-V Dynamic Memory, é recomendável primeiro conhecer como esses componentes funcionam e quais benefícios eles podem fornecer. Vamos analisar cada um deles.
RAM de inicialização
Esse valor do Hyper-V Dynamic Memory define a quantidade mínima de memória física que uma VM selecionada pode usar durante sua inicialização. A RAM de inicialização deve ser alta o suficiente para permitir que a VM inicie rapidamente e sem interrupções. Observe que a RAM de inicialização não pode ser alterada quando a VM está em execução.
RAM mínima
Esse valor do Hyper-V Dynamic Memory determina a quantidade mínima de memória física que deve ser atribuída à VM após sua inicialização. Se outras VMs precisarem de mais RAM, o host Hyper-V poderá começar a recuperar memória não utilizada desta VM até que o valor de RAM mínima seja atingido. Observe que o valor pode ser definido tão baixo quanto 32 MB, mas não pode ser maior que a RAM de inicialização. Além disso, você não pode aumentar a memória mínima enquanto a VM está em execução ou pausada, mas pode diminuí-la (por exemplo, você pode alterar o valor de RAM mínima de 512 MB para 64 MB).
RAM máxima
Este valor de Memória Dinâmica do Hyper-V especifica a quantidade máxima de memória física que a VM pode usar. Observe que esse valor não pode ser menor que a RAM atribuída no início, mas pode chegar a até 1 TB (1.048.576 MB). Além disso, você não pode diminuir a quantidade máxima de memória enquanto a VM está em execução ou em pausa, mas pode aumentá-la (por exemplo, você pode alterar o valor máximo de RAM de 512 MB para 2048 MB).
Buffer de Memória
Este valor de Memória Dinâmica do Hyper-V determina a porcentagem de memória física que deve ser alocada à VM como buffer. O buffer de memória é uma parte da memória física que é reservada para a VM com base em suas necessidades de memória. Para calcular o buffer de memória, você precisa usar a seguinte fórmula:
Quantidade de buffer de memória = quanto a máquina virtual realmente precisa / (valor do buffer de memória / 100).
Por padrão, o valor do buffer de memória é de 20%, mas pode ser configurado para ser tão baixo quanto 5% e tão alto quanto 2000%. Você pode alterar o valor do buffer de memória a qualquer momento, mesmo enquanto a VM está em execução.
Peso de Memória
Este valor de Memória Dinâmica do Hyper-V especifica a prioridade da VM selecionada em relação a outras VMs nesse host. Com base nesta ordem de prioridades, você pode determinar como distribuir a memória disponível entre várias VMs em execução no mesmo host Hyper-V.
Observe que, se a prioridade da VM estiver muito baixa e a quantidade de memória física disponível diminuir, há um risco de que essa VM não consiga iniciar. Você pode alterar o valor do peso de memória a qualquer momento, mesmo enquanto a VM está em execução.
Práticas Recomendadas para Memória Dinâmica do Hyper-V
Para alcançar alto desempenho e melhorar a utilização da memória em ambientes Hyper-V, é recomendado que você siga as práticas recomendadas para Memória Dinâmica do Hyper-V.
As práticas recomendadas para Memória Dinâmica do Hyper-V listadas abaixo podem melhorar consideravelmente o desempenho da memória da VM e sua experiência geral em ambientes Hyper-V.
Habilitar os Serviços de Integração do Hyper-V
Serviços de Integração do Hyper-V é um conjunto de utilitários que permitem melhorar o desempenho da VM em ambientes Hyper-V. Cada Serviço de Integração do Hyper-V deve ser habilitado tanto no host quanto no convidado para que eles possam funcionar corretamente e fornecer serviços conforme necessário. Por padrão, todos os Serviços de Integração do Hyper-V, exceto a Interface de Serviço de Convidado do Hyper-V, estão habilitados nos sistemas operacionais convidados.
Para que a Memória Dinâmica do Hyper-V funcione efetivamente, verifique se os Serviços de Integração do Hyper-V estão atualizados para a versão mais recente e se o sistema operacional convidado é compatível com o recurso de Memória Dinâmica. Caso contrário, o Hyper-V pode enfrentar problemas porque a memória não pode ser fornecida dinamicamente e as demandas de memória não podem ser abordadas adequadamente.
Desde o lançamento do Windows Server 2016, os Serviços de Integração do Hyper-V e as atualizações correspondentes podem ser instaladas através do Windows Update. Portanto, você deve configurar suas VMs para receber atualizações a fim de garantir que sua infraestrutura Hyper-V use a versão mais recente dos Serviços de Integração do Hyper-V.
Monitorar o uso de memória e alocação de recursos
Atualmente, existem muitas ferramentas de gerenciamento do Hyper-V no mercado que permitem monitorar o uso de memória e alocação de recursos em ambientes Hyper-V. Com o Hyper-V Dynamic Memory habilitado, é possível superprovisionar a RAM e ficar completamente sem memória. Portanto, é recomendado que você acompanhe a RAM que aloca para várias VMs em seu host Hyper-V.
Para esse fim, você pode usar ferramentas nativas de monitoramento ou adquirir software de terceiros. Por exemplo, você pode verificar o estado de memória da VM através do host no Gerenciador do Hyper-V ou no hospedeiro VM no Gerenciador de Tarefas.
Dessa forma, podemos monitorar como os recursos de memória são usados no sistema. No entanto, observe que o Gerenciador do Hyper-V e o Gerenciador de Tarefas mostram saídas diferentes para o uso de memória. A ferramenta de monitoramento do convidado não mostra os resultados reais porque a VM convidada acredita que a quantidade total de memória atribuída à VM está realmente sendo usada por seu driver. Na realidade, o host geralmente tem maior conhecimento sobre a maneira como a memória está sendo distribuída para VMs dentro da infraestrutura. A memória não utilizada é realmente realocada para outras VMs e isso é refletido no Gerenciador do Hyper-V.
Considere a RAM de inicialização
Configurar a RAM de inicialização mais alta ou mais baixa pode afetar significativamente o desempenho do Hyper-V. Você deve aumentar a RAM de inicialização para garantir que o SO e os aplicativos em execução nele iniciem conforme necessário. Isso ocorre porque o Windows requer mais RAM durante a inicialização do que quando o SO está ocioso.
Além disso, durante operações de instalação ou atualização, a quantidade de RAM disponível para o sistema operacional convidado é igual ao valor de RAM de inicialização. Portanto, antes de realizar instalações ou atualizações, é fundamental garantir que o valor de RAM de inicialização atenda aos requisitos mínimos de memória do sistema operacional selecionado.
Observe que, se o valor de RAM de inicialização for definido muito alto, isso também pode afetar negativamente o desempenho da memória dinâmica do Hyper-V e o uso geral de memória. Portanto, é recomendável atribuir 512 MB como valor de RAM de inicialização para o sistema operacional convidado para que ele possa ser iniciado sem interrupção.
Não esqueça dos vazamentos de memória
Ao definir limites de memória dinâmica do Hyper-V para uma determinada VM, é crucial lembrar que sua infraestrutura pode ser submetida a vazamentos de memória. Vazamentos de memória implicam na perda gradual de memória disponível como resultado de alocação de memória incorreta. Geralmente ocorre quando um aplicativo não consegue liberar a memória que foi fornecida apenas para uso temporário. Se o problema não for detectado antes que qualquer dano sério seja feito, a memória do sistema operacional pode ser esgotada e o aplicativo acabará falhando.
Para minimizar os efeitos negativos desse problema, é recomendável que você instale uma ferramenta de monitoramento (por exemplo, RAMMap) e verifique toda a infraestrutura quanto a quaisquer inconsistências e detecte casos incomuns de uso de memória por aplicativos em execução. Além disso, essas ferramentas podem ajudá-lo a determinar os valores mínimo e máximo de RAM que seriam mais adequados para esta VM específica.
Configure os valores máximo e mínimo de RAM
Para garantir que o Hyper-V Dynamic Memory funcione como requerido, é recomendado que você determine limites que o sistema não possa ultrapassar. Dessa forma, o uso de memória em sua infraestrutura é controlado efetivamente, o que significa que a VM não consumirá muita ou muito pouca memória.
Defina cuidadosamente o valor do Memory Buffer
Uma prática recomendada do Hyper-V Dynamic Memory é atribuir o valor de Memory Buffer apropriado, que especifica quanta memória extra deve ser disponibilizada para uma VM selecionada. Se o valor de Memory Buffer for definido alto, essa quantidade extra de memória é geralmente usada para caching de arquivos em VMs de grande escala e para agilizar operações de E/S no sistema.
Ao mesmo tempo, o valor de Memory Buffer deve ser definido baixo se houver um aplicativo em execução que precise de uma grande quantidade de memória física. Com o valor de Memory Buffer reduzido, você pode ter certeza de que a memória disponível não será totalmente consumida por uma única VM.
Além disso, se uma grande quantidade de memória já foi atribuída à VM, é improvável que ela precise de memória extra. Portanto, faz mais sentido compartilhar recursos de memória não utilizados com outras VMs que precisam mais deles.
Atualize hosts Hyper-V quando necessário
A carga de trabalho de produção aumenta consideravelmente durante o horário de trabalho, o que eventualmente afeta o desempenho do Hyper-V, bem como a alocação de recursos e utilização de memória. Como uma das Melhores Práticas de Memória Dinâmica do Hyper-V, é recomendável monitorar as mudanças no uso de memória ao longo do dia de trabalho. Ao detectar quando os ciclos de uso de memória alta e baixa geralmente ocorrem, você pode aprender como utilizar a Memória Dinâmica do Hyper-V a seu favor.
Habilite a Memória Dinâmica do Hyper-V apenas quando necessário
Embora a Memória Dinâmica do Hyper-V seja uma funcionalidade extremamente útil que melhora o uso da memória física, existem casos em que a alocação estática de memória é a opção preferível. Assim, você deve considerar se a Memória Dinâmica do Hyper-V precisa ser ativada em uma VM específica ou não. Por exemplo, algumas aplicações têm um desempenho melhor se tiverem uma quantidade pré-determinada de RAM que podem utilizar sem interrupção. A quantidade de RAM pré-atribuída permanece a mesma apesar das flutuações nas demandas de memória.
Portanto, é recomendável que você planeje antecipadamente como a memória física será distribuída em seu ambiente Hyper-V para evitar a falta de RAM e evitar falhas de aplicativos no futuro. Use a Memória Dinâmica do Hyper-V apenas com aplicativos compatíveis
Mesmo que a Memória Dinâmica do Hyper-V seja uma característica extremamente útil que melhora o uso da memória física, há casos em que a alocação de memória estática é a opção preferível. Portanto, você deve considerar se a Memória Dinâmica do Hyper-V precisa ser habilitada em uma VM específica ou não. Por exemplo, alguns aplicativos funcionam melhor se tiverem uma quantidade predeterminada de RAM que possam usar sem interrupção. A quantidade de RAM pré-atribuída permanece a mesma, apesar das flutuações na demanda de memória.
Portanto, é recomendável que você planeje com antecedência como a memória física será distribuída em seu ambiente Hyper-V para evitar ficar sem RAM e evitar falhas de aplicativos no futuro.
Use a Memória Dinâmica do Hyper-V apenas com aplicativos compatíveis
Antes de instalar qualquer aplicativo em seu host ou convidado Hyper-V, verifique se esse aplicativo pode ser usado junto com a Memória Dinâmica do Hyper-V. Para verificar essa informação, é recomendável que você primeiro leia a documentação de suporte do produto para conhecer suas funções e requisitos do sistema. Essas precauções podem ajudá-lo a evitar quaisquer problemas com o uso e alocação de memória que possam ocorrer.
Concluindo
Depois de aprender sobre as melhores práticas de Memória Dinâmica do Hyper-V, você pode começar a usar a memória física de forma mais eficiente e segura. No entanto, sua infraestrutura virtual ainda está exposta a vários perigos e ameaças que podem comprometer seu desempenho. Para garantir a segurança do seu ambiente virtual, usar uma solução de proteção de dados é a opção mais viável. O NAKIVO Backup & Replication é uma solução confiável, eficaz e acessível que oferece backup de VM, replicação, backup para nuvem, cópia de backup, recuperação de site e um conjunto de recursos avançados.
Source:
https://www.nakivo.com/blog/full-overview-hyper-v-dynamic-memory-best-practices/