|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<page xmlns="http://projectmallard.org/1.0/" xmlns:ui="http://projectmallard.org/ui/1.0/" type="topic" style="task" id="memory-map-use" xml:lang="ro">
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<info>
|
|
Packit |
76ec6a |
<revision pkgversion="3.11" date="2014-01-28" status="candidate"/>
|
|
Packit |
76ec6a |
<link type="guide" xref="index#memory" group="memory"/>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<credit type="author copyright">
|
|
Packit |
76ec6a |
<name>Phil Bull</name>
|
|
Packit |
76ec6a |
<email>philbull@gmail.com</email>
|
|
Packit |
76ec6a |
<years>2011</years>
|
|
Packit |
76ec6a |
</credit>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<credit type="author copyright">
|
|
Packit |
76ec6a |
<name>Michael Hill</name>
|
|
Packit |
76ec6a |
<email>mdhillca@gmail.com</email>
|
|
Packit |
76ec6a |
<years>2011, 2014</years>
|
|
Packit |
76ec6a |
</credit>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<desc>View the memory map of a process.</desc>
|
|
Packit |
76ec6a |
</info>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<title>Using memory maps</title>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<gui>Virtual memory</gui> is a representation of the combined
|
|
Packit |
76ec6a |
<gui>physical memory</gui> and <link xref="mem-swap">swap space</link> in a
|
|
Packit |
76ec6a |
system. It enables running processes to access more than the
|
|
Packit |
76ec6a |
existing physical memory by <gui>mapping</gui> locations in physical memory
|
|
Packit |
76ec6a |
to files on disk. When the system needs more pages of memory than are
|
|
Packit |
76ec6a |
available, some of the existing pages will be paged out or written
|
|
Packit |
76ec6a |
to the swap space.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
The <gui>memory map</gui> displays the total virtual memory use of the
|
|
Packit |
76ec6a |
process, and can be used to determine the memory cost of running a single or
|
|
Packit |
76ec6a |
multiple instances of the program, to ensure the use of the correct shared
|
|
Packit |
76ec6a |
libraries, to see the results of adjusting various performance tuning
|
|
Packit |
76ec6a |
parameters the program may have, or to diagnose issues such as memory
|
|
Packit |
76ec6a |
leaks.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
To display the <link xref="memory-map-what">memory map</link> of a
|
|
Packit |
76ec6a |
process:
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<steps>
|
|
Packit |
76ec6a |
<item>Click the <gui>Processes</gui> tab. </item>
|
|
Packit |
76ec6a |
<item>Right click the desired process in the <gui>process list</gui>. </item>
|
|
Packit |
76ec6a |
<item>Click <gui>Memory Maps</gui>. </item>
|
|
Packit |
76ec6a |
</steps>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<section id="read">
|
|
Packit |
76ec6a |
<title>Reading the memory map</title>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<list>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
Addresses are diplayed in hexadecimal (base 16).
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
Sizes are displayed in <link xref="units">IEC binary
|
|
Packit |
76ec6a |
prefixes</link>.
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
At runtime the process can allocate more memory dynamically into an
|
|
Packit |
76ec6a |
area called the heap, and store arguments and variables into
|
|
Packit |
76ec6a |
another area called the stack.
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
The program itself and each of the shared libraries has three entries
|
|
Packit |
76ec6a |
each, one for the read-execute text segment, one for the read-write data
|
|
Packit |
76ec6a |
segment and one for a read-only data segment. Both data segments need to
|
|
Packit |
76ec6a |
be paged out at swap time.
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
</list>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
<title>Properties</title>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
Numele fișierului
|
|
Packit |
76ec6a |
Locația bibliotecii comune care este folosită în prezent de proces. Dacă acest câmp este liber, informațiile despre memorie din acest rând descriu memoria care este deținută de procesul al cărui nume este afișat deasupra tabelului hartă de memorie.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
VM Start
|
|
Packit |
76ec6a |
The address at which the memory segment begins. VM Start, VM End and
|
|
Packit |
76ec6a |
VM Offset together specify the location on disk to which the shared library
|
|
Packit |
76ec6a |
is mapped.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
VM Sfârșit
|
|
Packit |
76ec6a |
Adresa la care segmentul de memorie se termină.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
VM Dimensiune
|
|
Packit |
76ec6a |
Dimensiunea segmentului de memorie.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
Steaguri
|
|
Packit |
76ec6a |
Următoarele opțiuni descriu modurile diferite ale accesului memoriei-segment pe care procesul le poate avea:
|
|
Packit |
76ec6a |
<terms>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
<title><gui>p</gui></title>
|
|
Packit |
76ec6a |
Segmentul de memorie este privat față de proces și nu este accesibil altor procese.
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
<title><gui>r</gui></title>
|
|
Packit |
76ec6a |
Procesul are permisiunea de a citi din segmentul de memorie.
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
<title><gui>s</gui></title>
|
|
Packit |
76ec6a |
Segmentul de memorie este partajat cu alte procese.
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
<title><gui>w</gui></title>
|
|
Packit |
76ec6a |
Procesul are permisiunea de a scrie în segmentul de memorie.
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
<item>
|
|
Packit |
76ec6a |
<title><gui>x</gui></title>
|
|
Packit |
76ec6a |
Procesul are permisiunea de a executa instrucțiunile care sunt conținute în segmentul de memorie.
|
|
Packit |
76ec6a |
</item>
|
|
Packit |
76ec6a |
</terms>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
VM Compensație
|
|
Packit |
76ec6a |
The location of the address within the memory segment,
|
|
Packit |
76ec6a |
measured from VM Start.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
Private, Shared, Clean, Dirty
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
be written to swap since they can be re-loaded from their original location
|
|
Packit |
76ec6a |
on disk. Data pages have read-write permissions, and if modified when in
|
|
Packit |
76ec6a |
memory, they are labeled dirty, and when designated for swapping,
|
|
Packit |
76ec6a |
must be paged out.
|
|
Packit |
76ec6a |
-->
|
|
Packit |
76ec6a |
<list><item>private pages are accessed by one
|
|
Packit |
76ec6a |
process</item>
|
|
Packit |
76ec6a |
<item>shared pages can be accessed by more than
|
|
Packit |
76ec6a |
one process</item>
|
|
Packit |
76ec6a |
<item>clean pages have not yet been modified
|
|
Packit |
76ec6a |
while in memory and can be discarded when designated to be swapped
|
|
Packit |
76ec6a |
out</item>
|
|
Packit |
76ec6a |
<item>dirty pages have been modified while in
|
|
Packit |
76ec6a |
memory and must be written to disk when designated to be swapped
|
|
Packit |
76ec6a |
out</item></list>
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
Dispozitiv
|
|
Packit |
76ec6a |
The major and minor numbers of the device on which the shared
|
|
Packit |
76ec6a |
library filename is located. Together these specify a partition on the
|
|
Packit |
76ec6a |
system.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
Inode
|
|
Packit |
76ec6a |
The inode on the device from which the shared library location
|
|
Packit |
76ec6a |
is loaded into memory. An inode is the structure the filesystem uses to
|
|
Packit |
76ec6a |
store a file, and the number assigned to it is unique.
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
|
|
Packit |
76ec6a |
</section>
|
|
Packit |
76ec6a |
</page>
|