es debido a la gestion de memoria de linux. Linux intenta aprovecharla al maximo y eso no quiere decir que este libre. Es decir, si por ejemplo yo copio un fichero de 200 megas a mi usb stick cutre que tira a 600k por segundo, si se tira todo el rato leyendo del HD baja el rendimiento. Entonces linux descubre que tiene 200 megas libres en la RAM. Entonces coje y lo mete ahi y cuando no estes haciendo nada, disimuladamente lo hira metiendo en el usbstick. Esto es bastante usual (ya que esto se usa bastante)
En realidad estas aprovechando la memoria pero no estas copandola. Si una aplicacion "requiere" esa memoria, linux se la quitara al que este ocupandola.
Si quieres ver los distintios tipos de memoria haz
$free -m
y saldra algo tal que asi:
total used free shared buffers cached
Mem: 234 227 7 0 7 103
-/+ buffers/cache: 116 118
Swap: 243 0 243
en este caso tengo 227 megas trabajando, pero 118 son de bufferes como el que te he comentado antes y solo 116 son de aplicaciones a las cuales no le puedes "robar" la memoria. Si yo ahora lanzo un programa que requiere 20 megas de RAM, sencillamente se las arreglara para quitar bufferes. La prueba de lo que digo la tienes en que la swap aun ni si quiera la ha tocado
Lo he hecho algo espeso, si no entiendes algo, pregunta
Saludos