Ayer por la tarde, mirando el estado de los nuevos servidores me encontré con esto en un free
$ free -m
total used free shared buffers cached
Mem: 2048 1996 51 0 599 364
-/+ buffers/cache: 1032 1015
Swap: 0 0 0
Y entré en modo semi-pánico porque tenía menos de un 5% de memoría libre y estos servidores virtualizados no tienen swap... pero investigando un poco y con la ayuda de Jacobo, encontré que la máquina está perfectamente, no estaba interpretando bien los datos.
buffers es la cantidad de memoria usada por el kernel para cachear I/O de disco y cached indica la memoría usada recientemente, pero que actualmente no está en uso y que está cacheada.
Así que la cantidad de memoría disponible en el servidor para aplicaciones es la suma de free + buffers + cached (la cantidad que pone en la columna free en la segunda fila), en el ejemplo 1.015 MBytes, casi el 50% de la RAM total.
Por último un enlace a un HowTo sobre la memoría en Linux, tiene sus añitos, pero es perfectamente válido