Confundindo o uso de memória na VM Parallels

3

Eu tenho um VPS Parallels com 1GB de RAM. Ok, hoster diz que tem 1GB, mas não consigo ver como "free" e outros comandos similares retornam 13Gb, o que eu acho que é um tamanho de memória física.

Quando executo o comando top, vejo a seguinte saída:

Comovocêvê,omysqléoúnicoprocessoqueusaumtamanhosignificativodeRAM(143M).EotamanhototaldaRAMusadaédecercade160milhões.Oproblemaéqueeunãopossousarmaismemória:seeuestenderalgumasconfiguraçõesmemore(porexemplo,paraomysql)eurecebo"memória insuficiente", "não posso alocar memória", etc.

Eu tenho dois palpites:

  1. Meu VPS não tem 1 GB de RAM
  2. Se você olhar para o uso de memória virtual, é muito mais próximo de 1GB. Mas, ao mesmo tempo, o tamanho do swap é zero. Então, todo o meu virtual é armazenado na RAM? Eu esperava que a troca fosse a diferença entre a memória virtual e o uso de RAM.

Alguma outra idéia de como eu posso usar mais memória para o mysql (eu queria usar cerca de 80% de 1Gb)?

    
por SiberianGuy 20.07.2011 / 06:41

3 respostas

3

Você tem um VPS Virtuozzo (ou OpenVZ) - para o qual as regras normais de alocação de memória não se aplicam. Supondo que seu provedor de hospedagem não esteja mentindo para você, você "possui" 1 GB de RAM, na medida em que o "hypervisor" do OpenVZ permitirá que você aloque 1 GB de memória ou (mais provavelmente, com base na sua descrição de eventos) em> virtual memória.

Só porque você não vê nenhuma troca no topo, isso não significa que todos os seus dados estão na memória física - as regras são diferentes (muito, muito diferentes) para o OpenVZ.

Se você quiser usar mais memória para o MySQL, então você terá que reduzir a quantidade de memória que outras coisas em sua VM estão usando. Sua saída principal não lista nenhum candidato óbvio, mas se você classificar por uso de memória, você terá uma idéia muito melhor do que é supérfluo (e lhe dará o melhor retorno para o investimento).

Como um aparte, eu recomendo ficar longe do seu provedor de hospedagem atual - enquanto o OpenVZ tem o seu lugar, esse lugar não está no mercado de hospedagem VPS. Você provavelmente os escolheu porque eles eram um provedor barato, mas você está aprendendo por que eles são baratos - o OpenVZ é uma plataforma muito restrita, com seu próprio conjunto peculiar de peculiaridades. Você está muito melhor com um provedor de VPSes "reais" (alguém usando Xen, KVM, VMWare, etc).

    
por 20.07.2011 / 06:54
1

Além do que já foi dito, talvez você queira verificar / proc / user_beancounters , que contém informações sobre o recurso consumos do seu VPS.

    
por 20.07.2011 / 09:19
1

Eu também descobri que há uma maneira de reduzir o tamanho da memória virtual limitando o tamanho padrão da pilha. Eu recomendaria este artigo e esta mensagem no fórum.

    
por 20.07.2011 / 12:56