Además, como muestra la primera línea
total used free shared buffers cached
Mem: 7989 7734 254 0 28 7128
-/+ buffers/cache: 578 7411
Si agregamos (cached[7128] + buffers[28] + free[254]), obtendremos aproximadamente el valor free[7411] de la segunda línea
7128 + 28 + 254 = 7410
No mires la línea "Mem", mira la que está debajo.
El kernel de Linux consume tanta memoria como puede para proporcionar el caché de E/S (y otros búferes no críticos, pero el caché será la mayor parte de este uso). Esta memoria se cede a los procesos cuando lo solicitan. La línea "-/+ buffers/cache" le muestra los valores ajustados después de contabilizar el caché de E/S, es decir, la cantidad de memoria utilizada por los procesos y la cantidad disponible para los procesos (en este caso, 578 MB utilizados y 7411 MB libres).
La diferencia de memoria utilizada entre las líneas "Mem" y "-/+ buffers/cache" le muestra cuánto está usando el núcleo para el almacenamiento en caché:7734 MB - 578 MB =7156 MB en el caché de E/S. Si los procesos necesitan esta memoria, el kernel simplemente reducirá el tamaño de la memoria caché de E/S.