¿Ha utilizado la utilidad superior en una terminal para ver el uso de memoria en su Fedora ¿sistema? Si es así, es posible que se sorprenda al ver algunos de los números allí. Puede parecer que se consume mucha más memoria de la que su sistema tiene disponible. Este artículo explicará un poco más sobre el uso de la memoria y cómo leer estos números.
Uso de memoria en términos reales
La forma en que el sistema operativo (SO) usa la memoria puede no ser evidente. De hecho, algunas técnicas ingeniosas detrás de escena están en juego. Ayudan a su sistema operativo a usar la memoria de manera más eficiente, sin involucrarlo.
La mayoría de las aplicaciones no son independientes. En cambio, cada uno se basa en conjuntos de funciones recopiladas en bibliotecas. Estas bibliotecas también están instaladas en el sistema. En Fedorael sistema de empaquetado RPM garantiza que cuando instala una aplicación, también se instalan las bibliotecas en las que se basa.
Cuando se ejecuta una aplicación, el sistema operativo no necesariamente carga toda la información que usa en la memoria real. En cambio, crea un mapa para el almacenamiento donde se almacena ese código, llamado memoria virtual. Luego, el sistema operativo carga solo las partes que necesita. Cuando ya no necesite porciones de memoria, podría liberarlas o intercambiarlas según corresponda.
Esto significa que una aplicación puede asignar una gran cantidad de memoria virtual, mientras usa menos memoria real en el sistema a la vez. ¡Incluso podría asignar más RAM de la que el sistema tiene disponible! De hecho, en todo un sistema operativo ese suele ser el caso.
Además, las aplicaciones relacionadas pueden depender de las mismas bibliotecas. El kernel de Linux en su Fedora El sistema a menudo comparte memoria entre aplicaciones. No necesita cargar varias copias de la misma biblioteca para aplicaciones relacionadas. Esto también funciona de manera similar para instancias separadas de la misma aplicación.
Sin comprender estos detalles, la salida de la aplicación principal puede ser confusa. La siguiente example aclarará esta vista en el uso de la memoria.
Ver el uso de la memoria en la parte superior
Si aún no lo ha intentado, abra una terminal y ejecute el comando superior para ver algunos resultados. GolpearMayús+Mpara ver la lista ordenada por uso de memoria. Su pantalla puede verse ligeramente diferente a esta example de una carrera Fedora Puesto de trabajo:
Hay tres columnas que muestran el uso de memoria para examinar: VIRT, RES y SHR. Las medidas se muestran actualmente en kilobytes (KB).
La columna VIRT es la memoria virtual asignada para este proceso. Recuerde de la descripción anterior que la memoria virtual no es RAM real consumida. Para example, el proceso de GNOME Shell gnome-shell en realidad no consume más de 3,1 gigabytes de RAM real. Sin embargo, se basa en una serie de bibliotecas de nivel inferior y superior. El sistema debe mapear cada uno de ellos para garantizar que se puedan cargar cuando sea necesario.
La columna RES muestra cuánta memoria real (residente) consume la aplicación. En el caso de GNOME Shell, eso es alrededor de 180788 KB. los example El sistema tiene aproximadamente 7704 MB de memoria física, por lo que el uso de la memoria es del 2,3 %.
Sin embargo, de ese número, al menos 88212 KB son memoria compartida, que se muestra en la columna SHR. Este recuerdo podría ser, por example, funciones de biblioteca que también utilizan otras aplicaciones. Esto significa que GNOME Shell utiliza alrededor de 92 MB por sí solo, no compartido con otros procesos. Tenga en cuenta que otras aplicaciones en el example comparten un porcentaje aún mayor de su memoria residente. En algunas aplicaciones, la porción compartida es la gran mayoría del uso de la memoria.
Aquí hay un problema, y ??es que a veces los procesos se comunican entre sí a través de la memoria. Esa memoria también se comparte, pero no necesariamente puede ser detectada por una utilidad como top. Entonces sí, ¡incluso las aclaraciones anteriores todavía tienen cierta incertidumbre!
Una nota sobre el intercambio
Su sistema tiene otra función que utiliza para almacenar información, que es el intercambio. Por lo general, esta es un área de almacenamiento más lento (como un disco duro). Si la memoria física del sistema se llena a medida que aumentan las necesidades, el sistema operativo busca porciones de memoria que no se han necesitado durante un tiempo. Los escribe en el área de intercambio, donde se sientan hasta que se necesiten más tarde.
Por lo tanto, el uso prolongado y alto de intercambio generalmente significa que un sistema tiene muy poca memoria para sus demandas. A veces, una aplicación errónea puede tener la culpa. O, si ve esto a menudo en su sistema, considere actualizar la memoria de su máquina o restringir lo que ejecuta.
Foto cortesía deStig NygaardvíaFlickr(CC POR 2.0).