BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

No entiendo la distribución de memoria (wired, reserved,inactive...)

BocaDePez

Por mucho que busco en google, no logro entender que es tanta distribución de memoria cuando consulto TOP o MUSE, por ejemplo. Alguien sabe donde hay un detalle de que es exactamente o me lo dice brevemente?

Para que os hagais una idea de lo que me refiero, la memoria se me detalla en:

- ACTIVE: "total memory active": la usada en ese momento?

- INACTIVE: "total memory inactive": la inactiva no es la libre?

- WIRED: "cannot be paged out": que no puede ser paginada? no se ni porque ni para que.

- RESERVED: "for deadlock": reservada para que?

- CACHE: "buffer cache queue": ni idea.

- TOTAL: "memory in system": la que hay instalada fisicamente, bien.

- FREE: "free memory in system": la que me queda fisicamente libre.

El tema es que casi siempre tengo en FREE muy poco, por ejemplo, de 2 Gbytes pues en Free me pone 50Mbytes. Entonces no se si realmente la libre es esos 50 de FREE + la INACTIVA ya que en inactiva suelo tener un pico elevado, un 20%. En wired tambien suelo tener un 30% del total. Logicamente como consecuencia (creo) del poco FREE, me coge de SWAP, es decir, disco duro, y supongo que entonces hace que el equipo funcione lento. No?

Luego quiero mirar que procesos ocupan mucha memoria pero lo de TOP no me cuadra. Ejecuto TOP y miro la columna de SIZE o RES, pero me salen procesos con muchos megas, vamos, que si sumo todos los procesos en esas columnas me salen decenas de GBytes. Cómo puedo saber que es lo que dispara la memoria, no es con TOP?

Un poco de ayuda por favor para poder optimizarlo.

BocaDePez

Y otra vez a vueltas con la memoria.!!!!

Si tienes libre, algo no va bien del todo o no estñas haciendo gran cosa, ya que la obligación de la memoria es estar ocupada y cuanta más ocupes mejor.

Esto no es que esté bien explicado, pero el mito Windo$ero no es aplicable aquí. Kernel y entorno gráfico apenas llegarán a 200 MB. El resto serán áreas de buffer y accesos a disco.

La Wired es memoria no paginable ya que en ella se encuentran procesos que no pueden ser descargados a swap, específicamente todas las rutinas de control del kernel.

Cuando te pone la cantidad de free, te está indicando la que está totalmente desocupada. Cuando necesite más, descargará bufers y procesos inactivos y reasignará,

anthrax
1

Para explicarlo, nada mejor que un ejemplo práctico:

pablo@porfsis002:~$ free -m
total used free shared buffers cached
Mem: 2000 1531 469 0 79 752
-/+ buffers/cache: 699 1301
Swap: 3812 0 3812

Vamos a interpretar la información que nos muestra el comando "free -m":

  • El total de memoria es 2 GB
  • La memoría usada es de 1531 MB ( 699 MB de procesos, 79 de buffers y 752 de cached)
  • De swap (patición de intercambio) no se está usando nada

De esos 1531 MB realmente se están usando 699, ya que los (79 + 752) MB de memoria puede ser utilizada por aplicaciones/procesos si fuera necesario.

Resumiendo, de 2 GB de RAM se está usando 699 y queda libre 1301. Por tanto te debes fijar en la línea de "-/+ buffers/cache" que es la que te proporciona la información correcta del uso de memoria.

Si quieres aprender el significado de la memoria cached y buffers nada mejor que san google ;)

Saludos B-)

P.D: Este tema lo voy a añadir al recopilatorio de preguntas/dudas resueltas que se encuentra en la cabecera del foro :)