Introdução da Memória Dinâmica do Hyper-V no Windows Server 2008 R2 com SP1. Antes do seu lançamento, uma máquina virtual Hyper-V (VM) iniciaria e executaria com a quantidade total de RAM atribuída a ela, o que resultava em uso excessivo de memória e afetava o desempenho geral da VM. Além disso, a quantidade de memória de VM disponível só podia ser alterada quando a VM estava desligada. Assim, é razoável que a alocação de memória estática tenha que 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 recursos de memória dinamicamente para as VMs executadas em ambientes Hyper-V. Esta funcionalidade recupera uma parte da memória não utilizada de VMs que não precisam dela naquele momento específico e, em seguida, reatribui a memória recuperada para outras VMs que realmente precisam dela.
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 controle mais granular sobre o uso da memória e otimização aprimorada de recursos.
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:
- Consumo de memória reduzido, 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 superprovisionamento de memória física do computador caso não se mantenha o controle da alocação de memória dentro do ambiente virtual
- Algumas configurações de memória não podem ser alteradas quando a VM está em execução. Portanto, não é possível 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á ativado, 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 que você conheça 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 pode 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
Esse 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 ir 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 pausada, 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
Esse valor de Memória Dinâmica do Hyper-V determina a porcentagem de memória física que deve ser alocada à VM como um 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 = quanta memória 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 da Memória
Esse valor de Memória Dinâmica do Hyper-V especifica a prioridade da VM selecionada em comparação com 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 for definida como muito baixa e a quantidade de memória física disponível diminuir, há risco de que essa VM não consiga inicializar. Você pode alterar o valor de peso da 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, é recomendável 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 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 Convidado do Hyper-V, estão habilitados nos sistemas operacionais convidados.
Para que a Memória Dinâmica do Hyper-V funcione de forma eficaz, verifique se os Serviços de Integração do Hyper-V sã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 apresentar 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 utilize 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 a Memória Dinâmica do Hyper-V habilitada, é possível superprovisionar a RAM e ficar completamente sem memória. Portanto, é recomendável acompanhar a RAM que você aloca para várias VMs em seu host Hyper-V.
Para esse fim, você pode usar ferramentas de monitoramento nativas 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 hóspede VM no Gerenciador de Tarefas.
Dessa forma, podemos monitorar como os recursos de memória são usados dentro do sistema. No entanto, observe que o Gerenciador do Hyper-V e o Gerenciador de Tarefas demonstram saídas diferentes para o uso de memória. A ferramenta de monitoramento do hóspede não mostra os resultados reais porque a VM hóspede 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.
Tome em consideração 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 SO convidado é igual ao valor de RAM de inicialização. Portanto, antes de realizar a instalação 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 SO convidado para que ele possa ser iniciado sem interrupções.
Não se esqueça das 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 estar sujeita 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 libera 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 SO pode ser esgotada e o aplicativo eventualmente falhará.
Para minimizar os efeitos negativos desse problema, é recomendável que você instale uma ferramenta de monitoramento (por exemplo, RAMMap) e analise 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 apropriados 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 determinar 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 pouca memória.
Defina cuidadosamente o valor do Memory Buffer
Uma prática recomendada do Hyper-V Dynamic Memory é atribuir o valor do Memory Buffer apropriado, que especifica quanta memória extra deve ser disponibilizada para uma VM selecionada. Se o valor do Memory Buffer for alto, essa quantidade extra de memória geralmente é usada para cache de arquivos em VMs em larga escala e para agilizar operações de E/S no sistema.
Ao mesmo tempo, o valor do Memory Buffer deve ser baixo se houver um aplicativo em execução que precise de uma grande quantidade de memória física. Com o valor do Memory Buffer reduzido, você pode ter certeza de que a memória disponível não será consumida completamente 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
O volume de trabalho de produção aumenta consideravelmente durante o horário de expediente, o que eventualmente afeta o desempenho do Hyper-V, bem como a alocação de recursos e a utilização de memória. Como uma das Melhores Práticas de Memória Dinâmica do Hyper-V, é recomendável que você monitore as mudanças no uso de memória ao longo do dia de trabalho. Ao detectar quando ocorrem os ciclos de alto e baixo uso de memória, você pode aprender como usar a Memória Dinâmica do Hyper-V a seu favor.
Habilitar 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, há 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 melhor desempenho se tiverem uma quantidade de RAM pré-determinada que podem usar 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 ficar com pouca RAM e evitar falhas de aplicativos no futuro.Use a Memória Dinâmica do Hyper-V apenas com aplicativos compatíveis
Embora o Hyper-V Dynamic Memory seja uma funcionalidade 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 o Hyper-V Dynamic Memory precisa ser habilitado em uma VM específica ou não. Por exemplo, alguns aplicativos funcionam melhor se tiverem uma quantidade pré-determinada 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 planejar antecipadamente como a memória física será distribuída em seu ambiente Hyper-V, a fim de evitar ficar sem RAM e evitar falhas de aplicativos no futuro.
Use o Hyper-V Dynamic Memory 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 o Hyper-V Dynamic Memory. 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 medidas preventivas podem ajudá-lo a evitar quaisquer problemas com o uso e a 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 completo de recursos.
Source:
https://www.nakivo.com/blog/full-overview-hyper-v-dynamic-memory-best-practices/