El que este usando linux y haya consultado alguna vez el estado de la memoria, se podrá haber llevado la sorpresa de ver que hay mucha memoria usada, esto se debe a como linux administra la memoria.
Pero veamos un ejemplo del uso, para ello utilizaremos el comando vmstat que brinda un informe del estado de los procesos, memoria, páginamiento y demás también podríamos utilizar el comando top que muestra información de los procesos que están corriendo
$vmstat
procs...-----------memory--------------------...........------swap--.....-----io----....--system--.....---cpu----
r b. . .swpd...free......buff....cache.....si . so . . bi . . bo . . in . . cs . .us sy id wa
0 0 . . 0 . . . 9604 ..93084 . 495552 . . . 0 . . 0 . . . 5 . . 2 . . 134 . 38 . 0 . 0 100 0
Nota: Bueno algo interesante de ver en este comando es el 0 0 de la sección de swap, el ideal es que este en este valor esto querrá decir que el equipo esta con suficiente memoria como para no utilizar swap, esto no quiere decir que nunca lo use, pero si que en el proceso normal del equipo no necesita usarla, esto es importante sobre todo en servidores
Retornando al tema, si observamos la parte de la memoria, observamos 3 valores ( free,buff,cache), si vemos nos dice que solamente tenemos unos 10 megas libres de 1G, además que hay unos 93M de buffer y 495M de cache.
Pero uno se pregunta, solo me quedan 80 megas libres, bueno esto no es así, linux utiliza la memoria de una forma distinta, se puede decir que el sistema considera que la memoria no usada es memoria perdida, así que en su funcionamiento utiliza la memoria libre para hacer cache, que se guarda en el, bueno las cosas que se van solicitando quedan en ella, siempre y cuando el equipo no requiera utilizar mas memoria, en cuyo caso se descargaran procesos del cache generando la memoria que se necesite.
Con el comando free podremos ver mejor el estado de la memoria (también la información es brindada con el comando top) con lo que podremos ver cuanta memoria libre tenemos en nuestro equipo.
$free -m
...............................total......used...... free.....shared.....buffers......cached
Mem:........................992.......984..........8............0............91............483
-/+ buffers/cache:..........409......583
Swap:......................1906.........0.........1906
Nota: El parámetro indica que brinde el resultado en Megas
De ahí observamos cierta información similar a la que brinda vmstat, pero si vemos la parte central de la salida (la que dice Buffer/cache) obtenemos algo importante que es cuanta memoria esta utilizada en realidad y cuanto hay libre, en este caso estamos utilizando 409 megas en programas y tenemos 583 megas libres, y no se esta utilizando Swap.
Nota: El equipo de la que se saco la información esta corriendo varios servicios tanto de web y base de datos, con una carga de acceso bastante importante.
Beneficios claros,como si se necesitara datos que todavía permanezcan en caché se cargarán mas rápidamente, y es probable que lo que este en el se use nuevamente, haciendo mucho mas ágil y eficiente el sistema, teniendo en cuenta que el acceso de memoria es mucho mas rápido que el acceso a disco.
En definitiva un mejor aprovechamiento del equipo y los recursos del mismo.
Articulo Propio.