Gerenciamento automático de memória (amm)

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.