A memória marca noventa por cento: está cheia ou só parece cheia
Memória livre é memória desperdiçada, então uma porcentagem alta sozinha não é sinal de problema. A pergunta certa não é o quanto está cheia, é quem está segurando.
AtlasPVE ·
Este verbete responde a
- proxmox ram cheia
- proxmox uso de memória alto
- proxmox zfs consumo de ram
- o que é ballooning no proxmox
- quanta ram o proxmox precisa
Você olha o painel e a memória está em noventa por cento. O instinto é acrescentar RAM na hora. Na maioria das vezes não precisa.
Memória livre é memória desperdiçada. O sistema operacional trata a memória não usada como cache e devolve quando é preciso. Ou seja, uma porcentagem alta sozinha não é sinal de defeito.
No Proxmox há mais duas fontes que embaçam esse quadro.
Primeira fonte: o cache de armazenamento
Se você usa ZFS, ele guarda na memória os dados que lê para acesso rápido, e essa fatia pode ser grande. Ele libera sob pressão. Mas até lá aparece como "em uso".
Isso não é vazamento, é o próprio projeto. Num sistema que relê sempre os mesmos dados, esse cache é a aceleração mais barata que existe, e ainda reduz o desgaste do disco.
O detalhe sutil é este: quando libera, pode não liberar na hora. Uma demanda repentina por memória pode então encontrar um pequeno atraso. Por isso em instalações muito apertadas faz sentido colocar um teto no cache; mas faça isso medindo, não pelo pânico de "a memória está enchendo".
Segunda fonte: a memória que os convidados seguram
Se você deu oito gigabytes a uma máquina virtual, essa máquina pode aparecer segurando oito gigabytes do lado do servidor mesmo estando parada por dentro. O motivo é simples: memória tocada uma vez continua alocada enquanto o convidado não souber devolvê-la.
Devolver só funciona se o convidado colaborar. Se dentro do convidado não existe o componente que torna isso possível, a memória que você entregou foi de mão única. Se você espera a memória prometida de volta, garanta primeiro que esse componente está instalado.
A pergunta certa: não o quanto está cheia, mas quem segura
A porcentagem sozinha não diz nada. A divisão que importa é esta: quanto desse enchimento são os seus convidados e quanto é o servidor em si?
Se são os convidados, a situação é normal; eles estão usando a memória que você deu. Se é o lado do servidor e cresce sem parar, aí há algo para olhar.
O verdadeiro sinal de alerta não é a porcentagem, é a troca
Se o servidor começou a usar a área de troca, isso é um sinal de verdade. Noventa por cento cheio pode não ser problema, mas um servidor que troca o tempo todo é lento e ainda desgasta o disco.
O teste: não entre em pânico com a porcentagem, aja pela atividade de troca.
Prometer demais
Você pode prometer às suas máquinas virtuais, no total, mais memória do que o servidor realmente tem. Funciona na maior parte do tempo, porque elas não atingem o pico todas juntas.
Mas há uma regra sem exceção: não inclua na promessa a fatia do próprio servidor. Quando falta memória para o servidor, não cai uma máquina, cai tudo de uma vez, painel incluído. Entre convidados a divisão pode ser flexível; o fôlego do servidor não pode.
O que o Atlas faz
O Atlas não mostra o gráfico de memória como uma porcentagem única, ele divide em três: o que o servidor usa, o que os convidados usam e a troca.
E faz essa divisão por cálculo, não por palpite: da memória usada total é subtraída a soma dos convidados, e o que sobra conta como fatia do servidor. Assim você responde de relance à pergunta de verdade lá em cima: esse enchimento são as minhas máquinas ou o servidor em si?
Um detalhe pequeno mas significativo: para o teto do gráfico é usado o valor mais recente conhecido da memória total, não o do começo da série. O motivo: em visões longas a memória total pode mudar, e usar o valor antigo como teto mostra o gráfico diferente do que ele é. Assim, no dia em que você acrescenta RAM à máquina, o gráfico não continua desenhando o teto antigo e não te engana.
Fontes
A documentação oficial do Proxmox. Em inglês, e é ela que dá a palavra final neste assunto.