CyberAlberto

Mi rincón personal en internet

Interpretando el resultado de free

En muchas ocasiones me he preguntado cómo interprestar cada uno de los valores numéricos que muestra linux al ejecutar la orden free.

Este comando se utiliza para saber el estado actual de la memoria, cuánta se usa en buffers, cuánta está libre, etc…

El problema es que no sabía cómo casar los datos y en la documentación no me lo aclaraban. ¿Cómo saber si necesito más RAM en mi sistema?.

Evidentemente, si la memoria swap está al 90% de ocupación siempre, necesitas RAM como el comer, los casos extremos son evidentes. Al pararme a interpretar los datos de la tabla que te devuelve la orden conseguí averigüarla:

Tenemos un sistema con una capacidad x bytes de RAM, si tenemos en uso y bytes, la memoria libre es x-y. De esa memoria usada, una parte la usa para programas, otras para datos, etc… la que usa en buffers, compartida y caché es a+b+c, por tanto el resto que me queda es y-(a+b+c) que es lo que ocupan los programas (y sus datos) en RAM. A esto le sumamos la memoria swap y de esta manera rellenamos la tabla siguiente.

Tabla

Todos los secretos guardados por esta instrucción ya han sido desvelados 😉

Por ejemplo, en mi sistema:

             total       used       free     shared    buffers     cached
Mem:        513072     505768       7304          0      91132     175248
-/+ buffers/cache:     239388     273684
Swap:       634528          0     634528
Total:     1147600     505768     641832

De RAM tenemos unos 500Mb, hay libres unos 7Mb. De estos 493 ocupados, la porción que ocupan los programas -todos los demonios, entorno gráfico, navegador, etc…- son 233 Mb, el resto del pastel va para los buffers, la caché y la memoria compartida, aproximadamente 260Mb.

Si este es el estado normal de nuestro sistema podemos inferir que está muy bien equilibrado, aunque nunca hay suficiente RAM como se suele decir, ya que si tubiese -por poner un ejemplo extremo- 200Gb de RAM, en muy pocas ocasiones tendría que acceder al disco duro (cargaría en RAM la totalidad del sistema de ficheros de disco duro) y por tanto el sistema iría acelerando su velocidad al ir llenando la memoria con las distintas demandas de programas y librerías que le solicitaramos en un escenario normal.

Sólo queda añadir que la orden free es un resumen de toda la información que muestra el fichero virtual /proc/meminfo. Podemos verlo por pantalla con la orden: cat /proc/meminfo.

Por último quiero agradecer a Antonio Nebro su ayuda, ya que sin ello no hubiese sido posible escribir esto.

Anuncios

Viernes, 25 mayo 2007 - Posted by | Informática e Internet, Investigación

Sorry, the comment form is closed at this time.

A %d blogueros les gusta esto: