Comando Linux free: Monitoramento da Memória do Sistema

LinuxBeginner
Pratique Agora

Introdução

Bem-vindo ao laboratório sobre o comando free do Linux. Neste laboratório, você aprenderá a utilizar o comando free para monitorar e analisar o uso da memória do sistema. Esta habilidade é fundamental para administradores de sistemas e desenvolvedores que precisam otimizar o desempenho do sistema e solucionar problemas relacionados à memória.

Imagine que você é um administrador de sistemas júnior encarregado de monitorar o uso de memória de um servidor web com alto tráfego. O comando free será sua ferramenta principal para essa tarefa, permitindo avaliar rapidamente o status atual da memória e identificar possíveis problemas antes que eles afetem o desempenho do sistema.

Uso Básico do Comando free

Vamos começar utilizando o comando free em sua forma mais simples. Isso nos dará uma visão geral do uso de memória do sistema.

Primeiro, abra um terminal, caso ainda não o tenha feito. Em seguida, execute o seguinte comando:

free

Você deverá ver uma saída semelhante a esta:

              total        used        free      shared  buff/cache   available
Mem:        8167004     2524956     3300280      658636     2341768     4657560
Swap:       2097152           0     2097152

Esta saída fornece um instantâneo do uso de memória do seu sistema. Vamos detalhar o que cada coluna significa:

  • total: A quantidade total de RAM física e espaço de swap.
  • used: A quantidade de RAM atualmente em uso.
  • free: A quantidade de RAM que está completamente sem uso.
  • shared: A quantidade de RAM utilizada pelo tmpfs.
  • buff/cache: A quantidade de RAM utilizada para buffers e cache.
  • available: Uma estimativa de quanta memória está disponível para iniciar novas aplicações.

A saída é dividida em duas linhas:

  • Mem: Mostra informações sobre a RAM física.
  • Swap: Mostra informações sobre o espaço de swap (memória virtual).

Por padrão, todos os valores são exibidos em bytes.

Exibindo Informações de Memória em Formato Legível

Embora a saída padrão do free seja precisa, ela pode ser difícil de ler rapidamente. Vamos usar a opção -h para exibir as informações em um formato mais amigável para humanos.

Execute o seguinte comando:

free -h

Agora você deve ver uma saída semelhante a esta:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

A opção -h (que significa "human-readable") escala automaticamente os números e adiciona os sufixos de unidade apropriados (G para gigabytes, M para megabytes, etc.). Isso torna muito mais fácil entender rapidamente o uso de memória do seu sistema com apenas um olhar.

Observe como os valores agora são exibidos com unidades como Gi (gibibytes) e Mi (mebibytes). Estas são unidades binárias, onde 1 Gi = 1024 Mi, que é a forma padrão como os computadores medem a memória.

Exibindo Informações de Memória em Megabytes

Às vezes, você pode querer ver as informações de memória em uma unidade específica. Vamos usar a opção -m para exibir as informações em megabytes.

Execute o seguinte comando:

free -m

Sua saída deve ser algo parecido com isto:

              total        used        free      shared  buff/cache   available
Mem:           7975        2466        3222         642        2286        4548
Swap:          2047           0        2047

A opção -m força o free a exibir todos os valores em megabytes. Isso pode ser útil quando você precisa de mais precisão do que a opção -h oferece, mas ainda deseja números fáceis de ler.

Note que estes são mebibytes (MiB), onde 1 MiB = 1.048.576 bytes, e não megabytes (MB) onde 1 MB = 1.000.000 bytes. Na prática, a diferença é pequena o suficiente para que sejam frequentemente usados de forma intercambiável.

Monitoramento Contínuo com o Comando free

Em cenários do mundo real, muitas vezes é necessário monitorar o uso da memória ao longo do tempo. O comando free permite fazer isso com a opção -s (segundos), que atualiza a exibição em intervalos regulares.

Vamos monitorar o uso da memória a cada 3 segundos por um total de 5 atualizações:

free -h -s 3 -c 5

Este comando utiliza várias opções:

  • -h: Exibe em formato legível por humanos.
  • -s 3: Atualiza a cada 3 segundos.
  • -c 5: Para após 5 atualizações.

Você verá a saída sendo atualizada a cada 3 segundos, semelhante a isto:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

...

Este monitoramento contínuo pode ajudá-lo a observar como o uso da memória muda com o tempo, o que é particularmente útil ao tentar identificar vazamentos de memória (memory leaks) ou entender os padrões de consumo de aplicações específicas.

Pressione Ctrl+C se desejar interromper o comando antes que ele complete as 5 atualizações.

Exibindo o Uso Total de Memória

Por padrão, o comando free mostra o uso da memória com buffers e cache separados. No entanto, às vezes você pode querer ver o uso total da memória incluindo buffers e cache. Para isso, podemos usar a opção -t.

Execute o seguinte comando:

free -h -t

Sua saída deve ser algo parecido com isto:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi
Total:        9.8Gi       2.4Gi       5.1Gi

A opção -t adiciona uma linha "Total" na parte inferior, que soma o uso da memória RAM e do swap. Isso pode fornecer uma visão rápida da capacidade total de memória do seu sistema, incluindo tanto a RAM física quanto o espaço de swap.

Nesta saída:

  • A linha "Mem:" mostra o uso da RAM física.
  • A linha "Swap:" mostra o uso do espaço de swap.
  • A linha "Total:" mostra a soma da RAM física e do espaço de swap.

Esta visão total pode ser particularmente útil quando você deseja entender a capacidade global e o uso de memória do seu sistema de forma imediata.

Resumo

Parabéns! Você concluiu este laboratório sobre o uso do comando free para monitorar a memória do sistema. Vamos recapitular o que você aprendeu:

  1. Uso básico do comando free para exibir informações de memória.
  2. Utilização da opção -h para exibir a memória em um formato legível por humanos.
  3. Utilização da opção -m para exibir informações de memória em megabytes.
  4. Monitoramento contínuo do uso de memória com as opções -s e -c.
  5. Exibição do uso total de memória, incluindo swap, com a opção -t.

Essas habilidades serão valiosas para monitorar e gerenciar recursos do sistema, especialmente em cenários onde você precisa otimizar o desempenho ou diagnosticar problemas relacionados à memória.

Aqui estão algumas opções adicionais do comando free que não abordamos neste laboratório:

  • -b: Exibe a quantidade de memória em bytes.
  • -k: Exibe a quantidade de memória em kilobytes.
  • -g: Exibe a quantidade de memória em gigabytes.
  • -w: Utiliza o formato de saída amplo (wide).
  • -s: Atualiza a exibição a cada [SEG] segundos.
  • --si: Utiliza potências de 1000 em vez de 1024.

Lembre-se, o gerenciamento eficaz da memória é crucial para manter o desempenho e a estabilidade do sistema. O monitoramento regular com o comando free pode ajudá-lo a detectar e prevenir problemas de memória antes que eles impactem a performance do seu sistema.