Red Hat Training

A Red Hat training course is available for RHEL 8

22.2. Resumen de la memoria de un sistema

El Kernel de Linux está diseñado para maximizar la utilización de los recursos de memoria del sistema (RAM). Debido a estas características de diseño, y dependiendo de los requerimientos de memoria de la carga de trabajo, parte de la memoria del sistema está en uso dentro del núcleo en nombre de la carga de trabajo, mientras que una pequeña parte de la memoria está libre. Esta memoria libre se reserva para asignaciones especiales del sistema, y para otros servicios del sistema de baja o alta prioridad. El resto de la memoria del sistema se dedica a la carga de trabajo en sí, y se divide en las dos categorías siguientes:

File memory

Las páginas añadidas en esta categoría representan partes de archivos en almacenamiento permanente. Estas páginas, desde la caché de páginas, pueden ser mapeadas o desmapeadas en los espacios de direcciones de una aplicación. Las aplicaciones pueden mapear archivos en su espacio de direcciones utilizando las llamadas al sistema mmap, o bien operar sobre los archivos a través de las llamadas al sistema de lectura o escritura de E/S en buffer.

Las llamadas al sistema de E/S con búfer, así como las aplicaciones que mapean páginas directamente, pueden reutilizar páginas no mapeadas. En consecuencia, el núcleo almacena estas páginas en la caché, especialmente cuando el sistema no está ejecutando ninguna tarea de uso intensivo de memoria, para evitar volver a realizar costosas operaciones de E/S sobre el mismo conjunto de páginas.

Anonymous memory
Las páginas de esta categoría están en uso por un proceso asignado dinámicamente, o no están relacionadas con archivos en almacenamiento permanente. Este conjunto de páginas respalda las estructuras de control en memoria de cada tarea, como la pila de la aplicación y las áreas del montón.

Figura 22.1. Patrones de uso de la memoria

Memory usage patterns