Monitorar o uso de memória é uma tarefa importante para administradores de sistemas Linux e usuários que desejam melhorar o desempenho de seus sistemas. O Linux possui várias ferramentas de linha de comando que mostram informações em tempo real sobre o uso de memória, permitindo que você acompanhe e estude o consumo de memória. Neste artigo, vamos conhecer algumas das ferramentas de linha de comando mais úteis para verificar o uso de memória em sistemas Linux, incluindo cat, free, vmstat, top, htop, sar, e como interpretar o arquivo /proc/meminfo.
Pontos Principais
- O comando
cat /proc/meminfomostra métricas de memória em tempo real, como RAM total disponível, memória livre e memória em cache. - O comando
freefornece uma saída amigável das estatísticas de uso de memória, incluindo memória total, usada, livre, compartilhada, buff/cache e disponível. - O comando
vmstatapresenta um resumo do uso de memória do sistema, incluindo processos, memória, paginação, E/S de bloco, interrupções e atividade da CPU. - O comando
topé uma ferramenta interativa que mostra informações em tempo real sobre a utilização de recursos do sistema, incluindo uso de CPU e memória por processo. - O comando
htopé uma versão aprimorada dotop, oferecendo uma interface mais amigável e recursos extras como código de cores e gerenciamento de processos usando atalhos.
Usando Ferramentas de Linha de Comando para Verificar o Uso de Memória
O Linux possui várias ferramentas de linha de comando que permitem verificar o uso de memória em tempo real. Essas ferramentas são importantes para administradores de sistemas e usuários que desejam monitorar e otimizar o desempenho de seus sistemas.
Comando cat
O comando cat é uma forma simples de visualizar o conteúdo do arquivo /proc/meminfo, que contém informações em tempo real sobre o uso de memória do sistema.
cat /proc/meminfo
Este comando mostrará várias métricas de memória, como:
- MemTotal: RAM total disponível
- MemFree: A quantidade de RAM física não utilizada
- MemAvailable: Uma estimativa de quanta memória está disponível para iniciar novos aplicativos, sem usar swap
- Buffers: A quantidade de armazenamento temporário para blocos de disco brutos
- Cached: A quantidade de RAM física usada como memória cache
Aqui está um exemplo de saída:
MemTotal: 8116552 kB
MemFree: 385440 kB
MemAvailable: 1890092 kB
Buffers: 259300 kB
Cached: 1345384 kB
...
Comando free
O comando free fornece uma saída mais amigável das estatísticas de uso de memória. Ele mostra a memória total, usada, livre, compartilhada, buff/cache e disponível.
free -h
A opção -h mostra a saída em um formato legível. Aqui está um exemplo de saída:
total used free shared buff/cache available
Mem: 7.8Gi 6.1Gi 387Mi 1.0Gi 1.3Gi 1.8Gi
Swap: 2.0Gi 1.1Gi 912Mi
Você também pode usar outras opções como -b (bytes), -k (kibibytes), -m (mebibytes) ou -g (gibibytes) para alterar as unidades de saída.
Comando vmstat
O comando vmstat apresenta estatísticas de memória virtual e outras informações do sistema. Ele fornece um resumo do uso de memória do sistema, incluindo processos, memória, paginação, E/S de bloco, interrupções e atividade da CPU.
vmstat
Aqui está um exemplo de saída:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 1132052 395700 259300 1345384 0 1 33 52 85 176 9 5 85 1 0
A seção de memória mostra a quantidade de espaço swap usado (swpd), memória livre (free), memória de buffer (buff) e memória cache (cache).
Comando top
O comando top é uma ferramenta interativa que mostra informações em tempo real sobre a utilização de recursos do sistema, incluindo uso de CPU e memória por processo.
top
Aqui está um exemplo simplificado de saída:
top - 10:30:00 up 2 days, 18:00, 1 user, load average: 0.50, 0.68, 0.83
Tasks: 287 total, 1 running, 286 sleeping, 0 stopped, 0 zombie
%Cpu(s): 8.7 us, 5.0 sy, 0.0 ni, 85.3 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7854.2 total, 386.4 free, 6119.4 used, 1348.4 buff/cache
MiB Swap: 2048.0 total, 938.2 free, 1109.8 used. 1711.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 user 20 0 1234.5m 123.4m 12.3m S 5.0 1.6 1:23.45 process_name
O comando top fornece uma visualização dinâmica dos processos do sistema e seu consumo de recursos. Você pode ordenar os processos por uso de memória usando a tecla M e gerenciar processos usando vários comandos interativos.
Comando htop
O comando htop é uma versão aprimorada do comando top, oferecendo uma interface mais amigável e recursos extras.
htop
O comando htop mostra uma visualização em tempo real com código de cores dos processos do sistema e uso de recursos. Ele suporta rolagem vertical e horizontal, busca de processos e gerenciamento de processos usando atalhos.
Comando sar
O comando sar é um gerador de relatórios de atividade do sistema que monitora vários aspectos do desempenho do sistema, incluindo uso de memória.
sar -r 1 5
Este comando mostrará estatísticas de utilização de memória a cada 1 segundo por 5 iterações. Aqui está um exemplo de saída:
07:30:01 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
07:30:02 PM 385600 6127104 94.07 259300 1345384 16327220 130.59 5132848 1347188 0
07:30:03 PM 385724 6126980 94.07 259300 1345380 16327220 130.59 5134528 1347168 0
07:30:04 PM 385620 6127084 94.07 259300 1345384 16327220 130.59 5132784 1347188 0
07:30:05 PM 385752 6126952 94.07 259300 1345380 16327220 130.59 5134336 1346992 0
07:30:06 PM 385600 6127104 94.07 259300 1345384 16327220 130.59 5132624 1347184 0
Average: 385659 6127045 94.07 259300 1345382 16327220 130.59 5133424 1347144 0
A saída inclui métricas como kbmemfree (memória livre em kilobytes), kbmemused (memória usada em kilobytes) e %memused (percentual de memória usada).
Arquivo /proc/meminfo
O arquivo /proc/meminfo é um arquivo virtual que fornece informações em tempo real sobre o uso de memória do sistema. Você pode analisar este arquivo usando ferramentas como awk ou grep para obter métricas específicas.
O arquivo /proc/meminfo contém várias métricas de memória, como MemTotal, MemFree, Buffers, Cached, Active e Inactive. Essas métricas fornecem uma visão detalhada do uso de memória do sistema.
Aqui está um exemplo de uso do awk para obter métricas específicas:
awk '/MemTotal/{print $2}' /proc/meminfo
Este comando imprimirá o valor da métrica MemTotal em kilobytes.
Essas ferramentas de linha de comando oferecem uma forma poderosa e flexível de monitorar o uso de memória em sistemas Linux. Ao conhecer essas ferramentas, administradores de sistemas e usuários podem acompanhar e otimizar a utilização de memória de seus sistemas.
Usando Ferramentas GUI para Verificar o Uso de Memória
Embora as ferramentas de linha de comando sejam poderosas e flexíveis, o Linux também oferece ferramentas gráficas para monitorar o uso de memória. Essas ferramentas são úteis para usuários que preferem uma interface visual ou se sentem menos confortáveis com a linha de comando.
Aplicativo Monitor do Sistema
O aplicativo Monitor do Sistema é uma aplicação gráfica que fornece uma visão geral em tempo real do uso de recursos do sistema, incluindo consumo de memória. Ele está disponível na maioria das distribuições Linux com ambiente de desktop, como GNOME, KDE ou Xfce.
Para acessar o aplicativo Monitor do Sistema:
- Abra o menu Aplicações ou painel.
- Procure por "Monitor do Sistema" ou vá até a categoria Ferramentas do Sistema.
- Inicie o aplicativo Monitor do Sistema.
O aplicativo Monitor do Sistema exibe várias métricas do sistema, incluindo uso de CPU, uso de memória, atividade de rede e E/S de disco. Na aba Memória, você pode visualizar as seguintes informações:
| Métrica | Descrição |
|---|---|
| Memória total | A quantidade total de memória física (RAM) instalada no sistema. |
| Memória usada | A quantidade de memória atualmente em uso por aplicativos e o SO. |
| Memória em cache | A quantidade de memória usada para cache de dados do disco para melhorar o desempenho. |
| Memória de buffer | A quantidade de memória usada para armazenamento temporário de blocos de disco brutos. |
| Memória livre | A quantidade de memória atualmente não utilizada. |
| Uso de swap | A quantidade de espaço swap usado e disponível. |
Exemplo
Digamos que você tenha um sistema Linux com 8 GB de memória total. Ao abrir o aplicativo Monitor do Sistema, você vê a seguinte distribuição de uso de memória:
- Memória usada: 4.5 GB
- Memória em cache: 1.2 GB
- Memória de buffer: 0.3 GB
- Memória livre: 2 GB
Isso mostra que dos 8 GB de memória total, 4.5 GB estão ativamente em uso por aplicativos e sistema operacional, 1.2 GB são usados para cache de dados do disco, 0.3 GB são usados para buffer de blocos de disco, e 2 GB estão atualmente livres e disponíveis para uso.
O aplicativo Monitor do Sistema também fornece uma representação gráfica do uso de memória ao longo do tempo, permitindo identificar tendências e possíveis problemas.
Monitor do Sistema GNOME
O Monitor do Sistema GNOME é uma ferramenta GUI mais avançada para monitorar recursos do sistema e processos. Ele faz parte do ambiente de desktop GNOME, mas pode ser instalado em outras distribuições Linux também.
Para iniciar o Monitor do Sistema GNOME:
- Abra o menu Sistema ou lançador de aplicativos.
- Vá até a categoria Administração ou Ferramentas do Sistema.
- Selecione o aplicativo "Monitor do Sistema".
Você também pode iniciar o Monitor do Sistema GNOME pela linha de comando usando o seguinte comando:
gnome-system-monitor
O Monitor do Sistema GNOME fornece informações detalhadas sobre o uso de recursos do sistema, incluindo consumo de memória. Na aba Recursos, você pode visualizar:
- Histórico de Memória e Swap: Uma representação gráfica do uso de memória e swap ao longo do tempo.
- Memória: A memória total, usada e livre, bem como a quantidade de memória usada para cache e buffers.
- Swap: O espaço swap total, usado e livre.
Exemplo
Suponha que você esteja executando um aplicativo que consome muita memória em seu sistema Linux, e você percebe que o sistema está lento. Você abre o Monitor do Sistema GNOME para investigar o problema. Na aba Recursos, você observa o seguinte:
- Memória total: 16 GB
- Memória usada: 14.5 GB
- Memória livre: 1.5 GB
- Swap usado: 2 GB
Essa informação sugere que o aplicativo que consome muita memória está usando uma grande parte da memória disponível, fazendo com que o sistema use espaço swap. O alto uso de memória e utilização de swap pode levar à redução do desempenho do sistema.
O Monitor do Sistema GNOME também permite visualizar e gerenciar processos, ajudando você a encontrar aplicativos que podem estar usando muita memória. Você pode ordenar os processos por uso de memória para identificar os aplicativos que mais consomem memória e tomar as medidas apropriadas, como fechar programas desnecessários ou otimizar o uso de memória do aplicativo.
Usando ferramentas GUI como o aplicativo Monitor do Sistema e o Monitor do Sistema GNOME, os usuários de Linux podem facilmente acompanhar e analisar o uso de memória em seus sistemas. Essas ferramentas oferecem uma interface amigável e representações visuais, tornando mais fácil entender e monitorar o consumo de memória.
Outros Comandos e Ferramentas
Além das ferramentas populares de linha de comando e GUI que cobrimos, existem várias outras ferramentas para monitorar o uso de memória em sistemas Linux. Uma dessas ferramentas é o comando btop.
Comando btop
O comando btop é um monitor de recursos moderno, leve e multiplataforma que funciona no terminal. Ele fornece uma interface colorida para visualizar o uso em tempo real e estatísticas de CPU, memória, discos, rede e processos.
Os recursos do btop incluem:
- Interface personalizável
- Capacidade de filtrar processos
- Visualização em árvore de processos
- Navegação usando mouse, teclado ou toque
- Suporta Linux, macOS e FreeBSD
Instalação
Para instalar o btop em várias distribuições Linux, você pode usar os seguintes gerenciadores de pacotes:
| Distribuição | Gerenciador de Pacotes | Comando de Instalação |
|---|---|---|
| Baseadas em Debian (ex: Ubuntu) | apt |
sudo apt install btop |
| Baseadas em Red Hat (ex: CentOS) | dnf |
sudo dnf install btop |
| Arch Linux | pacman |
sudo pacman -S btop |
Em outras distribuições Linux ou sistemas operacionais, talvez seja necessário compilar o btop do código-fonte. Consulte o guia de instalação do btop para mais informações.
Uso
Uma vez instalado, você pode iniciar o btop executando o seguinte comando no seu terminal:
btop
Na interface do btop, você pode visualizar as seguintes informações relacionadas à memória:
- Gráfico de uso de memória
- Memória total
- Memória usada
- Memória livre
- Buffers
- Memória em cache
- Memória disponível
- Uso de swap





