Gerenciamento de memória no Linux
Após ouvir vários usuários reclamando do alto consumo de memória apresentado no Linux, resolví escrever este post para esclarecer melhor o gerenciamento de memória neste sistema operacional.
O consumo exibido, nem sempre reflete o consumo real de memória em seu computador, pois o Linux gerencia de forma inteligente seus recursos.
O que acontece, é que o Linux utiliza grande parte da memória ociosa para cache, afim de agilizar processos, que é o que chamamos de uso inteligente de memória.
Durante o período de ociosidade, o sistema operacional irá utilizar a memória, mas tão logo o usuário precise do recurso, o Linux imediatamente irá liberá-lo, e então o processo que foi iniciado passará a utilizar a memória necessária sem nenhum problema.
Na imagem abaixo, podemos ver um mini-aplicativo do superkaramba exibindo a quantidade livre de memória:

Postado por: Thiago Elias em 17/05/2008
Voltar
O consumo exibido, nem sempre reflete o consumo real de memória em seu computador, pois o Linux gerencia de forma inteligente seus recursos.
O que acontece, é que o Linux utiliza grande parte da memória ociosa para cache, afim de agilizar processos, que é o que chamamos de uso inteligente de memória.
Durante o período de ociosidade, o sistema operacional irá utilizar a memória, mas tão logo o usuário precise do recurso, o Linux imediatamente irá liberá-lo, e então o processo que foi iniciado passará a utilizar a memória necessária sem nenhum problema.
Na imagem abaixo, podemos ver um mini-aplicativo do superkaramba exibindo a quantidade livre de memória:

Na imagem, temos apenas 111mb de memória livre em um sistema com 882Mb de ram. Ou seja, consumo de 771Mb com poucos processos em execução, o que é realmente absurdo e faz com que qualquer usuário, pense que até o Windows Vista é mais leve que o Slackware Linux 12.
No entanto, o consumo exibido acima, reflete apenas o total em uso, contando o que realmente está sendo utilizado mais o cache.
Agora, através do console, iremos executar o comando "free -m", que indicará de forma bem simples, as informações de consumo de memória em Mb.

No entanto, o consumo exibido acima, reflete apenas o total em uso, contando o que realmente está sendo utilizado mais o cache.
Agora, através do console, iremos executar o comando "free -m", que indicará de forma bem simples, as informações de consumo de memória em Mb.

Temos agora muito mais detalhes, e enfim, podemos observar que o Linux está fazendo cache de 402Mb de Ram.
Na segunda linha, abaixo de "free", temos a quantidade de memória que realmente temos livre, que no caso é 592mb.
O Linux, deixará de fazer cache, quando o usuário realmente utilizar a memória em sua totalidade, e a partir daí, os processos utilizados pelo usuário e ou pelo sistema podem também utilizar a memória de troca (swap) conforme for necessário.
O ideal, é sempre estar atento ao consumo de memória nas aplicações que mostrem realmente o quanto você ainda dispõe de memória, como o "free", que utilizamos neste artigo, e também o "top", que mostram exatamente o quanto de memória está uso pelos aplicativos e pelo sistema operacional.
Podemos então afirmar com certeza, que o Linux gerencia de forma muito inteligente a memória disponível, já que em vez de apenas deixá-la livre, irá utilizá-la para melhorar o desempenho de alguns processos.
Na segunda linha, abaixo de "free", temos a quantidade de memória que realmente temos livre, que no caso é 592mb.
O Linux, deixará de fazer cache, quando o usuário realmente utilizar a memória em sua totalidade, e a partir daí, os processos utilizados pelo usuário e ou pelo sistema podem também utilizar a memória de troca (swap) conforme for necessário.
O ideal, é sempre estar atento ao consumo de memória nas aplicações que mostrem realmente o quanto você ainda dispõe de memória, como o "free", que utilizamos neste artigo, e também o "top", que mostram exatamente o quanto de memória está uso pelos aplicativos e pelo sistema operacional.
Podemos então afirmar com certeza, que o Linux gerencia de forma muito inteligente a memória disponível, já que em vez de apenas deixá-la livre, irá utilizá-la para melhorar o desempenho de alguns processos.
Postado por: Thiago Elias em 17/05/2008

