Mobile-Menu

Vermeidung von Memleaks Was ist eine automatische Speicherverwaltung (Automatic Memory Management, AMM)?

Von Dipl.-Ing. (FH) Stefan Luber 2 min Lesedauer

Anbieter zum Thema

Die automatische Speicherverwaltung ist eine Funktionalität und Technik, die Bestandteil von Betriebssystemen, Anwendungen oder Programmiersprachen ist. Sie sorgt dafür, dass die Zuweisung und Freigabe von Arbeitsspeicher automatisch verwaltet wird. Programmierern erleichtert AMM die Arbeit, da sie sich nicht selbst um die Speicherverwaltung kümmern müssen und Fehler wie Speicherlecks verhindert werden.

Die wichtigsten IT-Fachbegriffe verständlich erklärt.(Bild:  © aga7ta - Fotolia)
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Der englische Fachbegriff für automatische Speicherverwaltung lautet „Automatic Memory Management“, abgekürzt „AMM“. Es handelt sich um eine Funktionalität und Technik, die in verschiedenen Bereichen zum Einsatz kommt. Sie ist Bestandteil von Betriebssystemen, Programmiersprachen oder Anwendungen und sorgt dafür, dass die Zuweisung und Freigabe von Arbeitsspeicher automatisch verwaltet wird. AMM optimiert die Leistung von Anwendungen und Rechnern und verhindert das Auftreten von Speicherlecks und die dadurch verursachten Probleme.

Programmiersprachen mit integriertem Automatic Memory Management erleichtern Entwicklern die Arbeit, da sie keine eigenen Routinen für die Speicherverwaltung entwickeln und Code dafür schreiben müssen. Technisch lässt sich die automatische Speicherverwaltung auf verschiedene Arten und mit unterschiedlichen Verfahren realisieren. Dazu gehören zum Beispiel Garbage-Collection-Verfahren, die Referenzzählung oder die in Regionen organisierte Speicherverwaltung.

Oracle hat für die Verwaltung des Speichers von Oracle-Datenbanken eine proprietäre Funktion eingeführt, die ebenfalls als Automatic Memory Management (AMM) bezeichnet wird. Sie ermöglicht eine dynamische Verwaltung von SGA- (System Global Area) und PGA-Memory (Program Global Area).

Wie durch fehlerhafte Speicherverwaltung Speicherlecks entstehen

Ohne funktionierende Speicherverwaltung können sogenannte Speicherlecks (im Englischen memory leaks oder memleaks) auftreten. Dies geschieht, wenn der einer Anwendung oder einem Prozess zugewiesene Speicher nicht wieder ordnungsgemäß freigegeben wird. Die Folge ist, dass während der Ausführung immer mehr Speicher verbraucht wird. Obwohl prinzipiell genügend Speicher vorhanden wäre, wird der nutzbare Speicher immer weniger, und es kommt irgendwann zu Speicherengpässen. Programmabstürze, Systemfehler oder komplette Rechnerabstürze sind die Folge. Anfällig für Speicherlecks sind Programmiersprachen ohne Automatic Memory Management. Bereinigen lassen sich Speicherlecks, indem bestimmte Speicherbereiche explizit freigegeben oder Prozesse, Anwendungen oder Computer neu gestartet werden.

Vorteile durch eine automatische Speicherverwaltung

Automatic Memory Management bietet unter anderem diese Vorteile:

  • reduziert für Programmierer den Aufwand zur Implementierung einer eigenen Speicherverwaltung,
  • verhindert das Auftreten von Speicherlecks und die dadurch verursachten Probleme,
  • verbessert die Leistung von Anwendungen, Prozessen und Rechnern,
  • verhindert die Fragmentierung des Speichers,
  • sorgt für eine effizientere Nutzung des Speichers,
  • verbessert die Sicherheit von Anwendungen, Prozessen und Rechnern.

(ID:49634234)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung