Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Existem vários fatores de hardware que você deve levar em consideração quando pensa em uma solução de virtualização, mas um dos componentes mais importantes é a memória (RAM), pois esse é um fator determinante para se calcular a densidade de máquinas virtuais (VMs) de um servidor Hyper-V. Por isso é importante saber quanto de memória cada VM necessita. Ficar atento para não alocar mais memória que o necessário, bem como não prover memoria de menos.
Entender como obter o maior benefício do hardware do host Hyper-V é chave para uma melhor performance, e o NUMA (Non-Uniform Memory Access) é parte disso. A ideia do NUMA é aumentar a performance do acesso à memoria por processador. Para isso blocos de memória ficam localizados no mesmo barramento de cada processador. Assim um processador pode acessar o seu banco de memória local mais rápido do que a um banco de memória que não esta no seu barramento.
A versão do Hyper-V do Windows Server 2008 e do 2008 R2 não tem a opção de configurar a afinidade das VMs por NUMA, essa funcionalidade deve vir no Hyper-V do Windows 8. Entretanto é possível inferir o tamanho máximo de memória para que as VMs se beneficiem do NUMA, basta pegar o tamanho de memória e dividir pelo número de cores do servidor. Por exemplo, em servidor dual processor quad-core com 64GB de memória o cálculo seria 64/8. As máquinas virtuais que usem até 8GB, resultado do cálculo anterior, têm grandes chances de estarem usando memórias NUMA de um mesmo banco de um dos processadores, e obtendo assim melhor performance.
Parent Partition
No servidor Hyper-V o Hypervisor reserva pelo menos 300MB, e o sistema operacional requer no mínimo 512MB. O recomendado é que se reserve ao menos 2GB de memória para o servidor Hyper-V.
Outra recomendação é não utilizar o servidor Hyper-V para outras funções. Caso isso ocorra é necessário designar mais memória para o servidor desempenhar as demais funções que lhe foi designada. Lembre-se que essa memória não é pré-alocada e a garantia de disponibilidade dessa memória para o sistema operacional deve ser planejada/monitorada juntamente com a alocação de memória realizada pelas VMs.
Memória Dinâmica
No Windows Server 2008 R2 SP1 foi introduzido o conceito de memória dinâmica que permite que a máquina virtual consuma a memória física do servidor Hyper-V à medida que a VM for requisitando. O uso da memória dinâmica permite aumentar a densidade de maquinas virtual por servidor físico. Entretanto, nem sempre a memória dinâmica é a melhor opção.
Para as VMs que rodam serviço que requerem uma quantidade fixa de memória, ou aplicações que tentam usar toda a memória disponível do servidor são bons candidatos a não usarem memória dinâmica. Nestes casos o melhor é usar memória estática.
Outro ponto importante é que o uso de memória dinâmica em varias VMs tende a usar memorias de vários nós NUMA, logo, se performance for um ponto crucial o uso de memória dinâmica pode não ser a melhor opção.
Importante ressaltar que a memória dinâmica só pode ser configurada para as VMs que executam os seguintes sistemas operacionais: Windows 7, Vista, Windows Server 2003, Windows Server 2008 e superiores. Caso se configure memória dinâmica para outros sistemas operacionais ele só vai usar a memória definida no Startup RAM.
Configuração da Memória Dinâmica
Item |
Descrição |
Startup RAM |
É a quantidade mínima de memória necessária para a VM iniciar. É também a quantidade de memória física que a VM vai alocar inicialmente. A Microsoft recomenda 512MB para o Windows 7, Vista e Windows Server 2008, e 128MB para os Windows Server 2003. |
Maximum RAM |
O tamanho máximo de memoria que a VM pode alocar de memória física do servidor Hyper-V. Esse valor não pode ser menor que o Startup RAM e maior que 64GB. Tenha cuidado para não especificar um tamanho que memória que o sistema operacional da VM suporte. Por padrão o Hyper-V coloca 64GB. |
Memory buffer |
Controla a quantidade de memória física que cada VM deve tentar reservar como buffer. O valor é representado em porcentagem porque o tamanho de memória utilizado pela VM muda ao longo da sua execução. A formula que determina o tamanho do buffer é : Quantidade de memória utilizada pela VM / (valor do buffer / 100). Por exemplo, uma VM que esteja utilizando 1024MB de memória, com a configuração de buffer de 20%, vai alocar aproximadamente 204MB, totalizando 1228MB de memória física no servidor Hyper-V. Obs: O buffer não é mantido quando não se tem espaço de memória suficiente. |
Memory weight |
É uma forma de priorizar o uso de memória entre a VMs. No caso da utilização de memória do servidor Hyper-V começar a ficar escassa, a memória é alocada para as VMs com maior prioridade. |
Comments
- Anonymous
January 12, 2012
Muito bom artigo. Simples e objetivo.