Definición: ¿Qué significa Administración automática de memoria (AMM)?
La gestión automática de memoria (AMM) es una técnica en la que un sistema operativo o una aplicación gestiona automáticamente la asignación y desasignación de memoria. Esto significa que un programador no tiene que escribir código para realizar tareas de administración de memoria al desarrollar una aplicación. La gestión automática de la memoria puede eliminar problemas comunes, como olvidar la memoria libre asignada a un objeto y provocar una pérdida de memoria, o intentar acceder a la memoria de un objeto que ya se ha liberado.
La recolección de basura es una forma de administración automática de memoria.
Techinfo explica la gestión automática de memoria (AMM)
Oracle tiene parámetros de AMM patentados, como PGA_AGGREGATE_TARGET y SGA_TARGET. Oracle usa dos parámetros de inicialización para configurar AMM, de la siguiente manera:
- MEMORY_TARGET: establecido en cero de forma predeterminada. Facilita dinámicamente el ajuste de la disponibilidad total de memoria de Oracle hasta las limitaciones de MEMORY_MAX_TARGET.
- MEMORY_MAX_TARGET: define el tamaño máximo de MEMORY_TARGET, que se puede aumentar sin reiniciar una instancia.
El recolector de basura de .NET Common Language Run Time administra la asignación y liberación de memoria para una aplicación. Lo siguiente ocurre durante la inicialización del nuevo proceso de .NET Framework:
- AMM reserva el área adyacente del espacio de direcciones en tiempo de ejecución, lo que se conoce como el montón administrado.
- Este espacio de direcciones tiene un puntero de dirección, que se utiliza para asignar objetos posteriores.
- El puntero se configura inicialmente para administrar la dirección base del montón, donde también se asigna cada tipo de referencia.
La asignación de memoria de montón administrada es más eficiente que la asignación de memoria no administrada.