Verwendung von Speicherfeldern

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 oder in den Auslagerungsspeicher geschrieben.

Die Speicherabbildung 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 die Speicherabbildung eines Prozesses an:

  1. Klicken Sie auf den Reiter Prozesse.

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

  3. Klicken Sie auf Speicherfelder.

Die Speichernutzung 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.