Base de Conhecimento

Ver uso de memória no Linux: free, top e htop na VPS

  • linux, memória, free, top, htop, vps
  • Usuários acharam útil: 0

Veja como conferir a memória e a CPU da VPS com free -h, top, htop, ps e vmstat, entender buff/cache e available e saber o que olhar no resultado.

Por Redação Eleven Host · @robson.direitodigital · 28 de outubro de 2026 · 8 min de leitura

Arte da Eleven Host: janela de terminal com o título: Ver uso de memória no Linux: free, top e htop na VPS

Capa da Redação Eleven Host para o guia: Ver uso de memória no Linux: free, top e htop na VPS Arte: Eleven Host

Para ver uso de memória no Linux, rode free -h: ele mostra o total, o usado e o disponível. Para ver quais processos gastam mais memória e CPU ao vivo, use o top ou o htop.

Este guia segue as páginas de manual do Linux (free, top, ps, vmstat e proc_meminfo) e a documentação do kernel. Ele mostra, na ordem, como ler cada comando e o que olhar no resultado. Os comandos servem para uma VPS Ubuntu acessada por SSH. Com exceção da instalação do htop, eles só leem informações.

free -h: o total, o usado e o disponível

A visão mais rápida vem deste comando:

free -h

A opção -h mostra os valores em unidades fáceis de ler. Para acompanhar a mudança, peça uma atualização a cada 2 segundos:

free -h -s 2

A opção -s repete o resultado com o intervalo em segundos. As colunas, com as definições do manual:

  • total: a memória total utilizável.
  • used: a memória usada ou indisponível, calculada como total menos available.
  • free: a memória sem uso.
  • shared: a memória usada, em sua maior parte, por tmpfs.
  • buff/cache: a soma de buffers e cache.
  • available: uma estimativa de quanta memória está disponível para iniciar novos programas, sem usar swap.

A coluna que importa: available

A coluna free mostra só a memória sem uso. Olhe a coluna available, que estima o quanto ainda cabe para novos programas. Pela definição do manual, a coluna free mostra só a memória sem uso, e a available é a estimativa feita para novos programas.

O motivo está no buff/cache. O manual define o cache como a memória usada pelo cache de páginas, que guarda arquivos lidos do disco. A documentação do kernel diz que esses objetos são recuperados automaticamente pelo kernel quando a memória é necessária em outro lugar do sistema. Em palavras simples: o Linux usa memória que sobra para acelerar o acesso ao disco e devolve quando um programa precisa.

Por isso, buff/cache grande não é memória perdida nem vazamento. E não há necessidade de limpar o cache à mão: a documentação do kernel descreve o drop_caches como uma operação sem destruição de dados, mas a liberação já acontece automaticamente. Não use esse comando como forma de otimizar o servidor.

Quer conhecer os planos de VPS? O Plano Bronze da VPS sai a partir de R$ 17,00/mês; confira na loja o que cada plano inclui. Ver planos de VPS

Na saída do free, olhe a coluna available. A coluna free mostra só a memória sem uso: o kernel usa a que sobra como cache e a devolve quando um programa precisa.

top: quem está gastando agora

O free mostra o total. Para saber quem está gastando, abra o top:

top

A tela se atualiza sozinha. No topo há a linha de resumo, com a carga média dos últimos 1, 5 e 15 minutos, e a linha de memória, que traz o campo avail, a memória disponível para novos programas. Na lista de processos, duas colunas importam:

  • %CPU: a parte do tempo de CPU que a tarefa usou desde a última atualização da tela.
  • %MEM: a parte da memória física disponível que a tarefa ocupa no momento.

As teclas do top, segundo o manual:

  • M ordena a lista por %MEM.
  • P ordena por %CPU.
  • 1 mostra cada CPU em separado (%Cpu0, %Cpu1 e assim por diante).
  • q sai do programa.

Na linha de CPU há também estes estados: id é o tempo ocioso; wa é o tempo esperando o disco terminar uma operação; e st é o tempo que o hospedeiro da máquina virtual não entregou à VPS. O st pode não aparecer, conforme o kernel.

htop: uma opção mais visual

O htop é uma ferramenta extra, mais visual, que também mostra os processos. Ele não vem junto com os comandos acima e precisa ser instalado:

sudo apt install htop

htop

Para sair, aperte F10 ou q.

ps: listar os processos que mais gastam

O top muda a todo instante. Para uma lista fixa, que você pode copiar, use o ps. Os maiores consumidores de memória:

ps aux --sort=-%mem | head

E os de CPU:

ps aux --sort=-%cpu | head

O --sort aceita o sinal de menos para a ordem decrescente, e o head mostra só as primeiras linhas. O manual do ps avisa que a forma ps -aux, com hífen, não é recomendada: escreva ps aux. As colunas:

  • %MEM: a proporção entre a memória física residente do processo e a memória física total.
  • %CPU: o tempo de CPU usado dividido pelo tempo em que o processo está rodando.
  • RSS: a memória física usada, em kibibytes.
  • VSZ: a memória virtual, em KiB.

Atenção ao %CPU: no ps ele é uma média desde que o processo começou. No top ele é do último intervalo de atualização. Os dois números podem diferir sem que haja erro.

Carga média (load average)

Para uma visão da carga do sistema, olhe a linha de resumo do top, que traz a carga média (load average) dos últimos 1, 5 e 15 minutos. Segundo o manual, a carga média é o número médio de processos em estado executável ou em espera ininterrupta, ou seja, usando ou esperando a CPU, ou esperando o disco.

O manual também avisa que a carga média não é normalizada pelo número de CPUs. Um load de 1 numa máquina de 1 CPU significa CPU cheia. Numa máquina de 4 CPUs, o mesmo número deixa 75% da capacidade ociosa. Para ver quantas CPUs a sua VPS tem, rode:

nproc

Compare o load com esse número, e não com um valor fixo.

vmstat: swap e espera de disco

O vmstat ajuda a ver se o servidor está usando swap. Peça 5 relatórios, um por segundo:

vmstat 1 5

O manual avisa que o primeiro relatório traz médias desde a última reinicialização, então ignore a primeira linha. Nas demais, olhe estas colunas:

  • si: memória trazida do disco para a RAM, por segundo.
  • so: memória enviada da RAM para o disco, por segundo.
  • r: processos esperando a CPU.
  • b: processos bloqueados esperando entrada ou saída.
  • wa: tempo esperando o disco.
  • st: tempo que a máquina virtual não recebeu do hospedeiro.

Se si e so mostram valores acima de zero por um bom tempo, o servidor está trocando dados entre a RAM e o disco, o que merece uma olhada em quem está usando a memória. Quem quiser criar ou ajustar o swap encontra o passo a passo em Swap na VPS: como criar e ajustar no Ubuntu.

A fonte mais crua de dados é o arquivo /proc/meminfo. Para ver só as linhas principais:

grep -E 'MemTotal|MemAvailable|SwapTotal|SwapFree' /proc/meminfo

Segundo a página proc_meminfo, MemTotal é o total de RAM utilizável, MemAvailable é a estimativa do que está disponível para novos programas sem usar swap, e SwapFree é o swap ainda sem uso.

O que fazer com o resultado

Os manuais não trazem um valor certo de memória livre ou de carga para todo servidor, e este guia também não inventa um. O caminho é comparar: veja o available e o vmstat com o servidor parado e com ele sob uso, e compare os dois.

Anote os números antes de uma mudança. Assim você sabe se a mudança fez diferença.

Resumo dos comandos

  • free -h: total, usado e disponível; olhe a coluna available.
  • top: processos ao vivo; M ordena por memória, P por CPU, q sai.
  • htop: versão visual, precisa de sudo apt install htop.
  • ps aux --sort=-%mem | head: lista fixa dos maiores consumidores de memória.
  • nproc: quantidade de CPUs, para comparar com a carga média do top.
  • vmstat 1 5: swap (si e so) e espera de disco (wa); ignore a primeira linha.

Já tem o servidor e falta o endereço do site? Busque o domínio na loja e veja a disponibilidade. Registrar domínio

Perguntas frequentes

Qual comando mostra a memória usada no Linux?

O free -h. Ele mostra total, usado, livre, compartilhado, buff/cache e disponível, em unidades fáceis de ler.

Memória livre baixa significa que o servidor está sem memória?

Não necessariamente. O Linux usa a memória sem uso como cache e a devolve quando um programa precisa. Olhe a coluna available.

Preciso limpar o cache de memória?

Não. A documentação do kernel diz que o cache é recuperado automaticamente quando a memória é necessária em outro lugar.

Como ver qual processo usa mais memória?

Abra o top e aperte M, ou rode ps aux --sort=-%mem | head para uma lista fixa.

Esta resposta lhe foi útil?

Artigos Relacionados