Zum Inhalt springen

Memory Leak

Nicht mehr benötigter Speicher bleibt während des Betriebs unnötig gebunden.

Auch bekannt alsSpeicherleck
Softwarearchitektur

Was ist ein Memory Leak?

Ein Memory Leak, auch Speicherleck, liegt vor, wenn nicht mehr benötigter Speicher unnötig gebunden bleibt. Bei längerer Nutzung kann dadurch der Speicherbedarf wachsen. Automatische Speicherbereinigung verhindert das nicht grundsätzlich: Ein weiterhin erreichbares Objekt kann aus Sicht der Anwendung längst überflüssig sein und trotzdem erhalten bleiben. Kurzfristig hoher Speicherverbrauch allein beweist noch kein Leck.

In einem erfundenen Portal werden geschlossene Dokumentansichten weiterhin in einer global erreichbaren Liste gehalten. Ihre Daten bleiben dadurch erreichbar, obwohl sie nicht mehr gebraucht werden. Das Team untersucht die haltenden Referenzen und den Lebenszyklus der Ansichten. Wiederholtes Öffnen und Schließen wird nach einer Korrektur unter passenden Bedingungen verglichen. Entscheidend ist, ob unnötige Bindungen verschwinden; ein einzelner Momentwert oder ein Neustart erklärt die Ursache nicht.

Quellen