Qual é a melhor maneira de alocar espaço de troca para o VMware ESXi VM?

2

Estou executando várias máquinas virtuais no VMware ESXi (principalmente Centos, mas poucas são Ubuntu) e parece que há duas maneiras diferentes de lidar com a alocação de memória. Aqui estão dois exemplos:

(a) aloque memória de 4GB para a máquina virtual e crie um arquivo de troca de 2GB.

(b) aloque 6GB de memória para a máquina virtual e nenhum arquivo de troca.

Quais são os prós e contras dessas abordagens?

    
por dtoubelis 22.06.2011 / 07:52

2 respostas

2

ESXi, overcommit e swap e ballooning estão longe de serem triviais. É fácil acabar em situações que são extremamente ruins em termos de desempenho, como fazer com que a VM faça IO de Mapeamento de Memória em RAM que está sendo Trocado pelo hipervisor. Dar recomendações com base nas informações limitadas que você postou não é realmente possível.

Sugiro que você comece lendo o Guia de gerenciamento de recursos para o vSphere . Especialmente o capítulo sobre o sistema de memória deve ser interessante para você. Se você tiver perguntas mais específicas depois de passar pelo guia, por favor, retorne e pergunte novamente.

    
por 22.06.2011 / 09:07
1

O desempenho do espaço de troca não é realmente uma extensão da RAM física normal. Se suas máquinas precisarão de espaço de troca ou não, é em grande parte determinado pelo papel que elas desempenham. Por exemplo, recomenda-se que as máquinas que executam um banco de dados Oracle tenham uma certa quantidade de espaço para troca (o Oracle tem recomendações oficiais para isso), independentemente da quantidade de RAM instalada.

O ESX pode comprometer mais a memória, por isso, se você alocar 6GiB de RAM para cada máquina, isso não significa que cada máquina realmente consome cada bit desse 6GiB.

O ESX também trocará memória por conta própria. O ESX criará um arquivo de troca por VM e, se necessário, trocará a memória da VM para o disco. Para a VM, ainda parecerá que os blocos de memória estão localizados na RAM, embora venham do disco.

Se você puder poupar a RAM e as VMs exigirem, aloque 6GiB para elas. Isso não significa que eles não se beneficiarão de ter uma partição swap dentro da VM. Por padrão, o Linux tentará trocar a memória não utilizada. Isso é definido pelo parâmetro sysctl "vm.swapiness".

Para encurtar a história, apenas listar as opções não fornecerá um tamanho único para todas as respostas a como configurar sua RAM. Conte-nos mais: finalidade, hardware, etc.

    
por 22.06.2011 / 08:45