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:
- Uso básico do comando
freepara exibir informações de memória. - Utilização da opção
-hpara exibir a memória em um formato legível por humanos. - Utilização da opção
-mpara exibir informações de memória em megabytes. - Monitoramento contínuo do uso de memória com as opções
-se-c. - 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.



