Speicherprofiler
Speicherprofiler sind Werkzeuge zur Messung, Visualisierung und Analyse des Speicherverbrauchs einer Software während der Ausführung. Sie helfen, Heap-Größen, Speicherlecks, Fragmentierung und die Auswirkungen von Garbage Collection oder Speichermanagement-Strategien zu verstehen, um Ressourcenbedarf zu optimieren und Fehler zu finden.
Sie arbeiten typischerweise instrumentiert oder anhand von Sampling. Instrumentation bedeutet, dass der Speicher-Allocator oder die Laufzeit-API
Typische Ausgaben umfassen Verlauf des Gesamtspeichers, Heap-Dumps, Aufschlüsselungen pro Objekttyp, Stack-Spuren, Allocationsorte sowie Berichte über Lecks
Anwendungsgebiete umfassen nativen Code (C/C++), Managed-Umgebungen (Java, .NET) und Skriptsprachen (Python, JavaScript).
Beispiele gängiger Werkzeuge: Valgrind Massif (C/C++), VisualVM und YourKit (Java), dotMemory ( .NET), memory_profiler und tracemalloc (Python),