Fighting Fal...
General de Pijama
Registrado
6.1K Mensagens
8 Curtidas
Fonte: http://www.zago.eti.br/memoria.txt
a sua pergunta é uma dúvida extremamente comum entre iniciantes de Linux. Por
isso pensei "lá vem de novo". O que vocês têm que se acostumar é que o Linux
não é um operacional de besteira. O gerenciamento de memória e performance do
sistema são coisas levadas muito a sério, usando algoritmos novos e modernos.
Aquilo que aprendemos nas aulas de computação sobre "libero a memória =
memória fica livre" e o que estamos acostumados desde operacionais simples
como o DOS em que "mais memória livre melhor" não é mais necessariamente
verdade!
Pense assim: você tem memória que não está sendo usada pelos seus programas. O
que é melhor fazer dela: deixá-la ali, sem uso, ou usá-la para acelerar o
sistema? Pois bem, é isso que o Linux faz. A memória que os aplicativos não
estão usando é usada pelo próprio kernel para fazer cache de dados e para os
buffes de rede. Essa memória é prontamente retornada ao sistema caso um
programa peça mais memória.
Então, por exemplo, examinemos a saída do comando free na minha máquina:
$ free
total used free shared buffers cached
Mem: 775640 771420 4220 0 30272 384540
- -/+ buffers/cache: 356608 419032
Swap: 1012016 187132 824884
Você vai me dizer que a minha máquina de 768MB de RAM tem apenas 4 MB livre
não? Pois eu te digo que ela tem na verdade mais de 400 MB disponíveis para
os aplicativos caso eles queiram usar. A coluna "free" tem dois significados:
na primeira linha, é a memória imediatamente disponível e geralmente fica
nessa casa aí, 4MB. A segunda linha é a memória que está disponível para os
aplicativos (e na coluna "used" quanto realmente eles estão usando).
Algo similar ocorre para o swap. Iniciantes pensam, "o swap não deve ser usado
enquanto tiver memória física disponível". Não é verdade. O kernel pode
eleger algumas páginas de memória para serem mandadas para o swap caso ele
detecte que essas páginas realmente não estão sendo usadas e que o processo
de swap não vá atrapalhar o sistema. Como você pode ver no meu sistema, mais
de 180MB em páginas foram mandadas para o swap. E olhe que não é por falta de
memória física: é justamente para liberar _mais_ memória.
Espero que tenha elucidado sua dúvida.
PS: a coluna "shared" não é mais usada desde o kernel 2.4.0.
Genival
Super Participante
Registrado
597 Mensagens
0 Curtidas
Obrigado, depois eu vou dar uma lida no texto completo , muito bom diga-se de passagem heim?
Fighting Fal...
General de Pijama
Registrado
6.1K Mensagens
8 Curtidas
Obrigado, depois eu vou dar uma lida no texto completo , muito bom diga-se de passagem heim?
Sim, muito bom.
Quando tive a mesma dúvida sua, me indicaram esse texto.
Observe que no link há diversas outras informações a respeito do tema.
Na verdade, o site do Zago tem muita informação útil.
Abração
FF