KVM e espaço de troca

4

suponha o seguinte cenário: um host com 2 GiB executa alguns convidados usando o KVM. Cada convidado geralmente não precisa de muita memória, eles recebem 256 MiB cada e executam serviços que geralmente giram os polegares. No entanto, ocasionalmente, os convidados precisam de mais memória. No momento, cada convidado tem pouca memória RAM, mas seu próprio espaço de troca. Notei que uma pequena porção de troca é usada. Eu nunca tive problemas com essa konfiguração, mas apenas por curiosidade:

Qual é a estratégia ideal de alocação de swap?

  1. Atribua a cada convidado seu próprio espaço de troca de seus respectivos discos e atribua aos convidados apenas pouca memória do host. (Isso é o que estou fazendo agora.)
  2. Atribua ao host uma quantidade maior de espaço de troca e nenhum aos convidados e atribua mais memória aos convidados.

O ballooning de memória ajudaria a melhorar o desempenho da memória?

    
por countermode 17.06.2014 / 03:01

2 respostas

4

"Convidados ocasionais precisam de mais memória" soa como uma boa aplicação de supercomprometendo a memória . A idéia é que você atribua a cada convidado uma grande quantidade de memória (mais do que você pode realmente distribuir), porque geralmente eles não estão usando. Em seguida, você faz as contas para garantir que você tenha espaço de troca suficiente para que os convidados possam realmente trocar para o disco no pior cenário em que todos realmente fazem uso de toda essa memória.

O espaço de troca vai na máquina host , e precisa obedecer

host swap space = sum of all guest memory + recommended host swap space

para que seja seguro.

Então, se você tem 10 convidados e 2 GiB de RAM, pode experimentar algo como

  • 512 MiB RAM por convidado (512 * 10 = 5120 MiB no total)
  • 2GiB troca no host

Significa que seu espaço de troca de host deve ser pelo menos 512 * 10 + 2048 = 7168 MiB para lidar com isso com segurança, supondo que você possa dedicar 2GiB de swap ao host (para essa pequena memória de host, isso é recomendado).

Sempre teste esses tipos de configuração primeiro para garantir que sua máquina possa lidar com eles. O benchmarking é ainda melhor e permitirá que você experimente diferentes cargas e escolha aquela que funciona melhor.

    
por 17.06.2014 / 05:12
1

@ndt tem um bom procedimento. Meu cenário é diferente, então adoto um método diferente.

Meu servidor tem muitos convidados, todos eles executam um único aplicativo, geralmente servidor web / mail / file. Os dados contidos nele são muito importantes, portanto, backups e instantâneos são feitos com muita frequência. Então, quanto menor e mais simples a imagem do disco é melhor. Então, na verdade, não crie uma partição de troca, mas um arquivo de troca. Como não tenho convidados com alto processamento ou mesmo necessidades de memória, eles têm um pequeno armazenamento em disco e pouca memória. O arquivo de troca fica dentro do rootfs.

Esta configuração economiza muito espaço e simplifica a manutenção. Como eu disse, é diferente das outras situações.

    
por 17.06.2014 / 23:27