Definição – O que significa Automatic Memory Management (AMM)?
O gerenciamento automático de memória (AMM) é uma técnica na qual um sistema operacional ou aplicativo gerencia automaticamente a alocação e desalocação de memória. Isso significa que um programador não precisa escrever código para executar tarefas de gerenciamento de memória ao desenvolver um aplicativo. O gerenciamento automático de memória pode eliminar problemas comuns, como esquecer de liberar memória alocada para um objeto e causar um vazamento de memória, ou tentar acessar a memória de um objeto que já foi liberado.
A coleta de lixo é uma forma de gerenciamento automático de memória.
Definirtec explica Automatic Memory Management (AMM)
A Oracle possui parâmetros AMM proprietários, como PGA_AGGREGATE_TARGET e SGA_TARGET. O Oracle usa dois parâmetros de inicialização para configurar o AMM, da seguinte maneira:
- MEMORY_TARGET: definido como zero por padrão. Facilita dinamicamente o ajuste da disponibilidade total de memória do Oracle até as limitações de MEMORY_MAX_TARGET.
- MEMORY_MAX_TARGET: Define o tamanho máximo de MEMORY_TARGET, que pode ser aumentado sem reiniciar uma instância.
O coletor de lixo do .NET Common Language Runtime gerencia a alocação e a liberação de memória para um aplicativo. O seguinte ocorre durante a inicialização do novo processo do .NET Framework:
- O AMM reserva a área adjacente do espaço de endereço em tempo de execução, que é conhecido como heap gerenciado.
- Este espaço de endereço possui um ponteiro de endereço, que é usado para alocar objetos subsequentes.
- O ponteiro é inicialmente definido para gerenciar o endereço de base do heap, onde cada tipo de referência também é alocado.
A alocação de memória heap gerenciada é mais eficiente do que a alocação de memória não gerenciada.