Una pregunta habitual de los que comienzan a usar Linux, es ¿Porqué mi equipo usa siempre toda la memoria disponible incluso cuando solamente estoy usando unos pocos programas?.
En un principio, puede parecer un fallo del sistema, el cual esta usando toda la memoria, cuando no estamos usando muchos programas. Pero la respuesta a esta pregunta es sencilla, Linux aprovecha al maximo el harware de tu ordenador, y no existe ningún problema cuando siempre estas usando toda la memoria. ¿Pórque desperdiciar memoria libre que se puede utilizar para hacer funcionar tu sistema mas rápido?.
Un pequeño ejemplo nos aclarara las cosas. Si tienes 96MB y solo necesitas usar 32MB para los programas que estas ejecutando, Linux utilizará la memoria restante como buffers y caché para que las cosas funcionen mas rápidas y automáticamente y reducirá/ajustará los valores "buff", "shared" y "cached" cuando necesitemos mas memoria para ejecutar nuestros programas.
Aquí teneis un ejemplo conseguido con top
despues de un rato de uso en un ordenador
con X, un par de terminales en uso, Netscape y Emacs:
Mem: 95568K av, 93208K used, 2360K free, 21368K shrd, 8300K buff Swap: 136512K av, 5716K used, 130796K free 60364K cachedUnos momentos despues, cerramos Netscape:
Mem: 95568K av, 87884K used, 7684K free, 10544K shrd, 8308K buff Swap: 136512K av, 5704K used, 130808K free 60528K cachedy para terminar, abrimos netscape y Acrobad reader:
Mem: 95568K av, 93176K used, 2392K free, 26328K shrd, 3336K buff Swap: 136512K av, 5340K used, 131172K free 64064K cachedComo podeis observar, los valores "buff", "shared" y "cached" se van ajustando automáticamente a las necesidades de memoria del momento. Asi que no preocuparos si veis que la memoria en uso es practicamente la totalidad de la memoria disponible.