Olá,
tenho 1gb de memória RAM e uma partição Swap de mesmo tamanho. Creio que a memória é mais do que suficiente para rodar o Linux e diversos processos sem ter de recorrer ao HD.
Estou lendo um livro chamado "Descobrindo o Linux" (João Eriberto Mota Filho) e nele o autor afirma que o Linux só vai usar a memória wap caso aconteça a falta de memória RAM. Nesse momento eu já assustei pois, através do "Monitor do Sistema", eu já havia notado uma utilização da memória swap.
Reiniciei o micro e acionei o comando "free -m", obtive o seguinte:
total used free shared buffers cached
Mem: 1011 386 624 0 14 227
-/+ buffers/cache: 145 866
Swap: 1278 0 1278
Apesar do alto consumo de memória ram inicial (acho 145 muito para o Linux. Ainda vou dar uma olhada em um tutorial que vi a um tempo atrás sobre como desativar certos modulos desnecessarios) creio que está normal (sem consumo de memória swap).
Ok, verificado isso rodei o comando "time updatedb":
total used free shared buffers cached
Mem: 1011 478 532 0 90 229
-/+ buffers/cache: 157 853
Swap: 1278 0 1278
O consumo de RAM aumentou justamente para armazenas o buffer cache. Sem utilização da memória swap por enquanto.
Vendo isso abri alguns programas corriqueiros, foi ai que levei um susto:
uTorrent (emulado):
oot@openbluegene:~# free -m
total used free shared buffers cached
Mem: 1011 508 502 0 91 254
-/+ buffers/cache: 162 848
Swap: 1278 0 1278
Gaim:
total used free shared buffers cached
Mem: 1011 998 13 0 86 736
-/+ buffers/cache: 175 835
Swap: 1278 0 1278
Thunderbird 2.0:
root@openbluegene:~# free -m
total used free shared buffers cached
Mem: 1011 993 17 0 83 708
-/+ buffers/cache: 202 808
Swap: 1278 8 1270
root@openbluegene:~# free -m
total used free shared buffers cached
Mem: 1011 997 13 0 33 735
-/+ buffers/cache: 228 783
Swap: 1278 32 1245
Quando vi a utilização de memória swap já repeti o comando para ver até onde isso iria.
Como podem ver, tenho 783mb livres na memória RAM mas ainda assim o Linux insistiu em ocupar 32mb na memória swap.
Fiz alguns testes com Firefox, aMule e alguns jogos e vi que esse valor utilizado na Swap varia de 33 até 42mb (ao mesmo tempo que também se usa a memória ram).
Não entendo, por que isso acontece? Não deveria ser usado toda a memória RAM antes de passar para a swap?
Edit:
Imaginei uma possibilidade.
Será que o SO está fazendo economia de memória ram mesmo sem essa estar completamente cheia? Sei que, quando não tenho mais memória RAM e inicio um novo processo o Linux joga buffer cache e processos parados a muito tempo na memória Swap, mas eu creio que isso não ocorra mesmo quando se esteja usando apenas 1/5 da memória RAM, ou ocorre?