<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 08/16/2013 10:05 AM, Janssen dos
      Reis Lima wrote:<br>
    </div>
    <blockquote
cite="mid:CALRfP=jyn5-LHGCTPg9qn7oeN0a2M_3u9GMsnUNch4J-timkeg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>Pessoal,</div>
        <div><br>
        </div>
        <div>N&atilde;o &eacute; toda hora que acontece, mas algumas vezes quando eu
          vou iniciar uma VM, aparece a seguinte mensagem de erro:</div>
        <br clear="all">
        <div><b>Error while executing action: Cannot run VM. Host swap
            percentage is above the defined threshold.<br>
            - Check your configuration parameters for Host Swap
            Percentage.</b><br>
        </div>
      </div>
    </blockquote>
    <br>
    A mensagem &eacute; clara. H&aacute; muita swap sendo usada e para garantir o bom
    funcionamento do Host, a nova VM n&atilde;o pode ser iniciada.<br>
    <br>
    <blockquote
cite="mid:CALRfP=jyn5-LHGCTPg9qn7oeN0a2M_3u9GMsnUNch4J-timkeg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Estou rodando o oVirt em um micro Core2 Duo, 4 GB RAM.</div>
        <div>No momento tenho livre de Swap 3,1 GB de 4 GB dispon&iacute;vel.</div>
        <div>Estou rodando 2 VM's, uma configurada para 512 MB de RAM e
          outra com 1GB de RAM, ambas com 1 processador cada. Sei que
          n&atilde;o &eacute; o ambiente ideal para eu fazer um teste deste, mas quero
          entender tudo quanto que &eacute; mensagem de erro</div>
      </div>
    </blockquote>
    <br>
    Ok, pra entender temos que ver a implementa&ccedil;&atilde;o dela:<br>
    <br>
    <br>
    No arquivo
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/policyunits/MemoryPolicyUnit.java:<br>
    --------------------------<br>
    ...<br>
    &nbsp;51&nbsp;&nbsp;&nbsp;&nbsp; private boolean isVMSwapValueLegal(VDS host) {<br>
    &nbsp;...<br>
    &nbsp;61&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long swap_total = host.getSwapTotal();<br>
    &nbsp;62&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long swap_free = host.getSwapFree();<br>
    &nbsp;63&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long mem_available = host.getMemAvailable();<br>
    &nbsp;64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long physical_mem_mb = host.getPhysicalMemMb();<br>
    &nbsp;65 <br>
    &nbsp;66&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ((swap_total - swap_free - mem_available) * 100 /
    physical_mem_mb) &lt;= Config<br>
    &nbsp;67&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .&lt;Integer&gt;
    GetValue(ConfigValues.BlockMigrationOnSwapUsagePercentage);<br>
    &nbsp;68&nbsp;&nbsp;&nbsp;&nbsp; }<br>
    --------------------------<br>
    <br>
    Na linha 66 o c&aacute;lculo fica claro.<br>
    Em outras palavras, se voc&ecirc; tiver mais swap sendo usada do que
    mem&oacute;ria RAM livre, uma nova VM n&atilde;o vai rodar.<br>
    Deduzo que quem implementou isso queria garantir que havia mem&oacute;ria
    RAM suficiente para alocar toda a swap usada. Caso contr&aacute;rio, uma
    nova VM n&atilde;o poder&aacute; ser iniciada.<br>
    Ainda de acordo com o c&oacute;digo, voc&ecirc; pode mudar esse comportamento
    usando a config "BlockMigrationOnSwapUsagePercentage" (nome pouco
    intuitivo pra esse caso :/... ). O padr&atilde;o pra essa config &eacute; 0:<br>
    <br>
    # engine-config -g BlockMigrationOnSwapUsagePercentage<br>
    BlockMigrationOnSwapUsagePercentage: 0 version: general<br>
    <br>
    Onde 0 &eacute; um valor percentual. Se voc&ecirc; mudar pra 10, por exemplo,
    significa que a rela&ccedil;&atilde;o entre swap usada e RAM livre pode ser at&eacute;
    10% do valor da RAM total. Enrolado? Tb achei ;)<br>
    <br>
    <br>
    <br>
    <br>
    <blockquote
cite="mid:CALRfP=jyn5-LHGCTPg9qn7oeN0a2M_3u9GMsnUNch4J-timkeg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Aproveitando, se eu quiser 8 servidores virtuais, cada um
          com 4 GB de RAM e 2 processadores, qual seria o hardware
          necess&aacute;rio para o oVirt?</div>
      </div>
    </blockquote>
    <br>
    N&atilde;o fa&ccedil;o ideia. "Depende do workload" seria a melhor resposta... mas
    deve ter gente aqui na lista com mais experi&ecirc;ncia em implementa&ccedil;&otilde;es
    reais e que poderia dar alguns exemplos. Esperemos.<br>
    <br>
    --<br>
    Pahim<br>
  </body>
</html>