What is Automatic Memory Management?
Automatic Memory Management (AMM) ist eine Technik, bei der ein Betriebssystem oder eine Anwendung automatisch die Zuordnung und Freigabe von Speicher verwaltet. Dies bedeutet, dass ein Programmierer Code zum Ausführen von Speicherverwaltungsaufgaben beim Entwickeln einer Anwendung nicht schreiben muss. Die automatische Speicherverwaltung kann häufige Probleme wie das Vergessen des Speichers, der einem Objekt zugewiesen wurde, und das Auftreten eines Speicherverlusts oder der Versuch, auf Speicher für ein Objekt zuzugreifen, das bereits freigegeben wurde, zu vergessen.
Garbage collection is a form of automatic memory management.
Oracle verfügt über proprietäre AMM-Parameter wie PGA_AGGREGATE_TARGET und SGA_TARGET. Oracle verwendet zwei Initialisierungsparameter, um AMM wie folgt zu konfigurieren:
MEMORY_TARGET: Standardmäßig auf Null gesetzt. Ermöglicht dynamisch die Anpassung der Gesamtspeicherverfügbarkeit von Oracle bis zu MEMORY_MAX_TARGET-Einschränkungen.
MEMORY_MAX_TARGET: Definiert die maximale Größe von MEMORY_TARGET, die erhöht werden kann, ohne eine Instanz neu zu starten.
Der Garbage Collector der Common Language Runtime von .NET verwaltet die Zuweisung und Freigabe von Speicher für eine Anwendung. Folgendes tritt während der Initialisierung des .NET
Framework process on:
AMM reserves the adjacent area of address space at runtime, known as the managed heap.
This address space has an address pointer with which the following objects are assigned.
Der Zeiger ist anfänglich so eingestellt, dass er die Basisadresse des Heapspeichers verwaltet, wobei jeder Referenztyp ebenfalls zugewiesen wird.
Managed heap memory allocation is more efficient than unmanaged memory allocation.