Phil Bull
philbull@gmail.com 2011
Michael Hill
mdhillca@gmail.com 2011, 2014
Das Speicherabbild eines Prozesses anzeigen.
Christian Kirbach
christian.kirbach@gmail.com 2014, 2015, 2021
Benjamin Steinwender
b@stbe.at 2014
Mario Blättermann
mario.blaettermann@gmail.com 2017, 2021
Jürgen Benvenuti
gastornis@posteo.org 2023

# Verwendung von Speicherabbildern

Virtueller Speicher ist eine Darstellungsform der Kombination von physikalischem Arbeitsspeicher und Auslagerungsspeicher eines Systems. Er ermöglicht laufenden Prozessen mit mehr als dem vorhandenen physikalischen Speicher zu arbeiten, indem Teile des physikalischen Speichers in Dateien auf einem Datenträger abgebildet werden. Sobald das System mehr Speicherseiten als verfügbar benötigt, werden einige der bestehenden Seiten ausgelagert, das heißt, in den Auslagerungsspeicher geschrieben.

Das Speicherabbild zeigt die gesamte virtuelle Speicherbelegung des Prozesses und kann dazu eingesetzt werden, den Speicherverbrauch einer oder mehrere laufender Instanzen eines Programms festzustellen, die korrekte Verwendung von gemeinsam verwendeten Bibliotheken sicherzustellen, die Ergebnisse einer Anpassung verschiedener Geschwindigkeitsoptimierungsparameter eines Programms zu beurteilen und Probleme wie Speicherlecks eines Programms zu diagnostizieren.

So zeigen Sie das Speicherabbild eines Prozesses an:

Klicken Sie auf den Reiter Prozesse.

Klicken Sie mit der rechten Maustaste auf den gewünschten Prozess in der Prozessliste.

Klicken Sie auf Speicherabbild.

# Das Speicherabbild eines Prozesses deuten

Adressen werden hexadezimal (Basis 16) angegeben.

Größen werden in Form von IEC-Binärpräfixen angegeben.

Zur Laufzeit kann ein Prozess dynamisch mehr Speicher in einem Heap genannten Bereich belegen. Argumente und Variablen werden in einem anderen Bereich namens Stack abgelegt.

Das Programm selbst und jede der gemeinsam verwendeten Bibliotheken hat jeweils drei Einträge. Einen für das Lesen-und-ausführen Textsegment, einen für das Lesen-und-schreiben Datensegment und einen für das Nur-lesen Datensegment. Beide Datensegmente müssen bei Auslagerung auf Datenträger geschrieben werden.

## Eigenschaften

Dateiname | Der Ort der gemeinsam verwendeten Bibliothek, die derzeit vom Prozess verwendet wird. Wenn dieses Feld leer ist, so beschreibt die Speicherinformation in dieser Zeile den Speicher, der dem Prozess zugeordnet ist, dessen Name über der Speicherabbildungstabelle angezeigt wird.
VM-Beginn | Die Adresse, an der das Speichersegment startet. VM-Start, VM-End und VM-Offset geben gemeinsam den Ort auf dem Datenträger an, auf den die gemeinsam verwendete Bibliothek abgebildet wird.
VM-Ende | Die Adresse, an der das Speichersegment endet.
VM-Größe | Die Größe des Speichersegments.

Optionen

Die folgenden Flags beschreiben die verschiedenen Arten von Speichersegmentzugriffen, die ein Prozess besitzen kann:

## p

Das Speichersegment ist nur dem Prozess vorbehalten. Andere Prozesse haben keinen Zugriff.

## r

Der Prozess hat Berechtigungen, aus dem Speichersegment zu lesen.

## s

Das Speichersegment wird mit anderen Prozessen gemeinsam verwendet.

## w

Der Prozess hat Berechtigungen, in das Speichersegment zu schreiben.

## x

Der Prozess hat die Berechtigung, Anweisungen auszuführen, die sich im Speichersegment befinden.

VM-Versatz | Der Ort der Adresse im Speichersegment, gemessen ab Beginn des virtuellen Speichers.

Privat, Gemeinsam, Unverändert, Verändert

Private Seiten sind nur einem Prozess vorbehalten

Gemeinsame Seiten können von mehreren Prozessen verwendet werden

Unveränderte Seiten sind noch nicht im Speicher geändert worden und dürfen verworfen werden, wenn sie zur Auslagerung bestimmt werden

Veränderte Seiten sind im Speicher geändert worden und müssen auf den Datenträger geschrieben werden, wenn sie zur Auslagerung bestimmt werden

Gerät | Die »major«- und »minor«-Zahl des Geräts, auf dem die gemeinsam verwendete Bibliothek abgelegt ist. Gemeinsam geben diese eine Systempartition an.
Inode | Das Inode auf dem Gerät, von dem der Ort der gemeinsam verwendete Bibliothek in den Arbeitsspeicher geladen wird. Ein Inode ist die Struktur, die das Dateisystem verwendet, um eine Datei zu speichern. Die zugeordnete Zahl ist eindeutig.