O artigo de hoje é rápido e objetivo – mais objetivo do que rápido – e vai derrubar um mito: O Linux não se alimenta só de memória RAM, o seu cardápio é mais balanceado =):
Não se preocupe, sua memória RAM está bem!
O que está havendo?
O Linux usa a memória inutilizada pelo seu sistema para o cache de disco. Isso faz com que aparentemente o seu sistema tenha pouca memória, mas não é isso, tudo está sob controle!
Por que ele está fazendo isso?
O cache de disco torna o seu sistema muito, muito mais rápido! Não há pontos negativos, exceto para quem começou a lidar com o sistema recentemente. Lembre-se, ele só pega a memória que não é utilizada, jamais compete com os aplicativos no uso delas!
Legal, e se eu quiser rodar mais aplicativos?
Se os aplicativos que você executar requererem mais memória, simplesmente o Linux vai devolver o cache de disco que foi emprestado temporariamente. O cache de disco pode sempre ser devolvido a qualquer momento – e automaticamente – pelo seu sistema. Você não está com falta de memória RAM!
Vou precisar de mais Swap?
Não, não, o cache de disco só pega emprestada a RAM que está ociosa no sistema, ou seja, ele não usa o Swap. Se as aplicações pedirem mais memória, o sistema simplesmente devolverá a que está em uso no cache de disco. Elas – as aplicações – não vão começar a usar o Swap =).
Como eu faço para o Linux parar de fazer isso?
É simples: não é possível desabilitar o cache de disco. Um dos únicos motivos encontrados pelos administradores de sistemas iniciantes para desabilitar esta função do Linux é por achar que o cache de disco come a memória de seus aplicativos, mas que não acontece! O cache de disco faz com que as aplicações rodem mais rápido, além de deixá-las mais suaves para o sistema como um todo, mas isto NUNCA TIRA MEMÓRIA dos aplicativos. Portanto, não há nenhuma razão para desativá-lo.
Por que o TOP e o FREE dizem que toda minha RAM está sendo usada se não é verdade?
É apenas um mal entendido dos termos. Tanto você quanto o Linux devem concordar que a memória que está sendo usada pelas aplicações é “usada”, enquanto a memória que não está sendo usada para nada é “FREE”. Mas, o que você chama de memória que está sendo usada para alguma coisa e a memória, de fato, disponível para ser usada?
Você poderia chamar de “FREE”, mas o Linux considera como memória usada (USED).
Memória que… |
Como chamamos |
Como o Linux chama |
sendo usada por aplicações |
Usada |
Usada |
disponível para aplicações e usada para alguma coisa |
Disponível |
Usada |
não usada por nada |
Disponível |
Disponível |
Este é um exemplo de como a memória pode ser considerada para o Linux e para muitos de nós. Sendo assim, a memória TOP e FREE podem ser chamadas de “BUFFERS” e “CACHED” ou nos bufferizada e cacheada. Como a terminologia usada para o Linux pode ser diferente da sua, você pode achar que está com pouca RAM, quando na verdade não está!
Como eu faço para ver quanta memória RAM disponível eu realmente tenho?
Para verificar quanta memória RAM está disponível para uso em suas aplicações, execute um free -m e veja a linha que diz “-/+ buffers/cache” na coluna que diz “free”, esta é a sua resposta em megabytes.
$ free -m
total used free shared buffers cached
Mem: 1504 1491 13 0 91 764
-/+ buffers/cache: 635 869
Swap: 2047 6 2041
$
Se você ainda não conhece como interpretar estes números, poderá pensar que a RAM que está em uso é de 99% do sistema, mas na verdade são apenas 42%.
Como eu posso verificar estas coisas?
Veja esta página (em inglês) para você fazer alguns experimentos com o seu cache de disco!
Então…
Quando você ver que o seu sistema só tem 15… 20… 25mb de memória RAM disponível, não se assuste! Ele tem muito mais esperando por você – e seus aplicativos, é claro.
Importante: O artigo foi traduzido do hotsite Linux ate my Ram e é uma produção de Vidar Holen.
Conhecimentos requeridos para este artigo:
Mínimo: Linux modo texto (text mode) | Básico
Recomendado: Linux modo texto (text mode) | Intermediário