37
<title>Using memory maps</title>
39
<p><gui>Virtual memory</gui> is a representation of the combined
40
<gui>physical memory</gui> and <link xref="mem-swap">swap space</link> in a
41
system. It enables running processes to access <em>more</em> than the
42
existing physical memory by <gui>mapping</gui> locations in physical memory
43
to files on disk. When the system needs more pages of memory than are
44
available, some of the existing pages will be <em>paged out</em> or written
45
to the swap space.</p>
47
<p>The <gui>memory map</gui> displays the total virtual memory use of the
48
process, and can be used to determine the memory cost of running a single or
49
multiple instances of the program, to ensure the use of the correct shared
50
libraries, to see the results of adjusting various performance tuning
51
parameters the program may have, or to diagnose issues such as memory
54
<p>To display the <link xref="memory-map-what">memory map</link> of a
37
<title>Verwendung von Speicherfeldern</title>
39
<p><gui>Virtueller Speicher</gui> ist eine Darstellungsform der Kombination von <gui>Physikalischem Arbeitsspeicher</gui> und <link xref="mem-swap">Auslagerungsspeicher</link> eines Systems. Er ermöglicht laufenden Prozessen mit <em>mehr</em> als dem vorhandenen physikalischen Speicher zu arbeiten, indem Teile des physikalischen Speichers in Dateien auf einem Datenträger <gui>abgebildet</gui> werden. Sobald das System mehr Speicherseiten als verfügbar benötigt, werden einige der bestehenden Seiten <em>ausgelagert</em> oder in den Auslagerungsspeicher geschrieben.</p>
41
<p>Die <gui>Speicherabbildung</gui> 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.</p>
43
<p>So zeigen Sie die <link xref="memory-map-what">Speicherabbildung</link> eines Prozesses an:</p>
58
46
<item><p>Klicken Sie auf den Reiter <gui>Prozesse</gui>.</p></item>
59
<item><p>Right click the desired process in the <gui>process list</gui>.</p></item>
60
<item><p>Click <gui>Memory Maps</gui>.</p></item>
47
<item><p>Klicken Sie mit der rechten Maustaste auf den gewünschten Prozess in der <gui>Prozessliste</gui>.</p></item>
48
<item><p>Klicken Sie auf <gui>Speicherfelder</gui>.</p></item>
63
51
<section id="read">
64
<title>Reading the memory map</title>
52
<title>Die Speichernutzung eines Prozesses deuten</title>
68
<p>Addresses are diplayed in hexadecimal (base 16).</p>
71
<p>Sizes are displayed in <link xref="units">IEC binary
75
<p>At runtime the process can allocate more memory dynamically into an
76
area called the <em>heap</em>, and store arguments and variables into
77
another area called the <em>stack</em>.</p>
56
<p>Adressen werden hexadezimal (Basis 16) angegeben.</p>
59
<p>Größen werden in Form von <link xref="units">IEC-Binärpräfixen</link> angegeben.</p>
62
<p>Zur Laufzeit kann ein Prozess dynamisch mehr Speicher in einem <em>Heap</em> genannten Bereich belegen. Argumente und Variablen werden in einem anderen Bereich namens <em>Stack</em> abgelegt.</p>
80
65
<p>The program itself and each of the shared libraries has three entries
88
73
<title>Eigenschaften</title>
90
75
<td><p>Dateiname</p></td>
91
<td><p>The location of a shared library that is currently used by the
92
process. If this field is blank, the memory information in this row
93
describes memory that is owned by the process whose name is displayed above
94
the memory-map table.</p></td>
76
<td><p>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.</p></td>
97
79
<td><p>VM-Beginn</p></td>
98
<td><p>The address at which the memory segment begins. VM Start, VM End and
99
VM Offset together specify the location on disk to which the shared library
80
<td><p>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.</p></td>
103
83
<td><p>VM-Ende</p></td>
104
<td><p>The address at which the memory segment ends.</p></td>
84
<td><p>Die Adresse, an der das Speichersegment endet.</p></td>
107
87
<td><p>VM-Größe</p></td>
108
88
<td><p>Die Größe des Speichersegments.</p></td>
111
<td><p>Flags</p></td>
112
<td><p>The following flags describe the different types of memory-segment
113
access that the process can have:</p>
91
<td><p>Optionen</p></td>
92
<td><p>Die folgenden Flags beschreiben die verschiedenen Arten von Speichersegmentzugriffen, die ein Prozess besitzen kann:</p>
116
95
<title><gui>p</gui></title>
117
<p>The memory segment is private to the process, and is not accessible
118
to other processes.</p>
96
<p>Das Speichersegment ist nur dem Prozess vorbehalten. Andere Prozesse haben keinen Zugriff.</p>
121
99
<title><gui>r</gui></title>
122
<p>The process has permission to read from the memory segment.</p>
100
<p>Der Prozess hat Berechtigungen aus dem Speichersegment zu lesen.</p>
125
103
<title><gui>s</gui></title>
126
<p>The memory segment is shared with other processes.</p>
104
<p>Das Speichersegment wird mit anderen Prozessen gemeinsam verwendet.</p>
129
107
<title><gui>w</gui></title>
130
<p>The process has permission to write into the memory segment.</p>
108
<p>Der Prozess hat Berechtigungen in das Speichersegment zu schreiben.</p>
133
111
<title><gui>x</gui></title>
134
<p>The process has permission to execute instructions that are
135
contained within the memory segment.</p>
112
<p>Der Prozess hat die Berechtigung Anweisungen auszuführen, die sich im Speichersegment befinden.</p>
141
118
<td><p>VM-Versatz</p></td>
142
<td><p>The location of the address within the memory segment,
143
measured from VM Start.</p></td>
119
<td><p>Der Ort der Adresse im Speichersegment, gemessen ab Beginn des virtuellen Speichers.</p></td>
146
<td><p>Private, Shared, Clean, Dirty</p></td>
122
<td><p>Privat, Gemeinsam, Unverändert, Verändert</p></td>
147
123
<!-- <td><p>Text pages are flagged read-execute in memory and don't need to
148
124
be written to swap since they can be re-loaded from their original location
149
125
on disk. Data pages have read-write permissions, and if modified when in
150
126
memory, they are labeled <em>dirty</em>, and when designated for swapping,
151
127
must be paged out.</p></td>
153
<td><list><item><p><em>private</em> pages are accessed by one
155
<item><p><em>shared</em> pages can be accessed by more than
156
one process</p></item>
157
<item><p><em>clean</em> pages have not yet been modified
158
while in memory and can be discarded when designated to be swapped
160
<item><p><em>dirty</em> pages have been modified while in
161
memory and must be written to disk when designated to be swapped
162
out</p></item></list></td>
129
<td><list><item><p><em>Private</em> Seiten sind nur einem Prozess vorbehalten</p></item>
130
<item><p><em>Gemeinsame</em> Seiten können von mehreren Prozessen verwendet werden</p></item>
131
<item><p><em>Unveränderte</em> Seiten sind noch nicht im Speicher geändert worden und dürfen verworfen werden, wenn sie zur Auslagerung bestimmt werden</p></item>
132
<item><p><em>Veränderte</em> Seiten sind im Speicher geändert worden und müssen auf den Datenträger geschrieben werden, wenn sie zur Auslagerung bestimmt werden</p></item></list></td>
165
135
<td><p>Gerät</p></td>