[gnome-system-monitor: 49/62] Review memory-map-* help pages
- From: Ekaterina Gerasimova <egerasimov src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-system-monitor: 49/62] Review memory-map-* help pages
- Date: Tue, 4 Feb 2014 22:32:45 +0000 (UTC)
commit 5c740546b1479b64bea65b7e80130c17eca3c029
Author: Ekaterina Gerasimova <kittykat3756 gmail com>
Date: Tue Jan 28 12:45:04 2014 +0000
Review memory-map-* help pages
help/C/memory-map-use.page | 184 ++++++++++++++++++-------------------------
help/C/memory-map-what.page | 79 +++++++++++--------
2 files changed, 121 insertions(+), 142 deletions(-)
---
diff --git a/help/C/memory-map-use.page b/help/C/memory-map-use.page
index 6c9c5fc..80defe9 100644
--- a/help/C/memory-map-use.page
+++ b/help/C/memory-map-use.page
@@ -1,8 +1,9 @@
<page xmlns="http://projectmallard.org/1.0/"
type="topic" style="task"
id="memory-map-use">
+
<info>
- <revision version="0.2" pkgversion="3.11" date="2014-01-26" status="incomplete"/>
+ <revision pkgversion="3.11" date="2014-01-28" status="candidate"/>
<link type="guide" xref="index" group="memory" />
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
@@ -19,7 +20,7 @@
<years>2011, 2014</years>
</credit>
- <desc>Display the memory map of a process.</desc>
+ <desc>View the memory map of a process.</desc>
</info>
<title>Using memory maps</title>
@@ -29,7 +30,8 @@
<p>Explain how to use the Memory Map feature.</p>
</comment>
- <p>To display the <link xref="memory-map-what">memory map</link> of a process:</p>
+ <p>To display the <link xref="memory-map-what">memory map</link> of a
+ process:</p>
<steps>
<item><p>Click the <gui>Processes</gui> tab.</p></item>
@@ -37,137 +39,103 @@
<item><p>Click <gui>Memory Maps</gui>.</p></item>
</steps>
- <p>When a program is launched, the system assigns it a unique process ID (PID)
- and its <em>instructions</em> and <em>data</em> are loaded into memory in
- <em>pages</em>. The page table of each process maps the correspondence between
- its pages in virtual memory and their location in physical memory. The
- <gui>memory map</gui> displays the total virtual memory use of the process, and
- can be used to determine the memory cost of running a single or multiple
- instances of the program, to ensure the use of the correct shared libraries, to
- see the results of adjusting various performance tuning parameters the program
- may have, or to diagnose issues such as memory leaks.</p>
-
- <p>If multiple copies of a program are running, the instructions (or <em>text</em>)
- of the program only need to be loaded once into physical memory. Each time a
- new instance of the program is launched (as a unique process with its own virtual
- memory pages), its page table maps the location of the text in virtual memory to
- those instructions in the original real memory location. In addition, any dynamic
- shared libraries used by the process appear as distinct in virtual memory, but
- are shared references to a single copy of the library's text segment in real
- memory. When accounting for the total memory use of a process, it is important
- to note that the cost of shared libraries loaded into memory can be spread
- across all the processes currently using them.</p>
-
- <p>When the system needs more pages of memory than are available, some of the
- existing pages will be <em>paged out</em> or written to the <link xref="mem-swap">swap space</link>.
- Text pages are flagged read-execute in memory and don't need to be written to
- swap since they can be re-loaded from their original location on disk. Data
- pages have read-write permissions, and if modified when in memory, they are
- labeled <em>dirty</em>, and when designated for swapping, must be paged out.
- When a page in swap space is required by a running process, it needs to be
- swapped back in before use, perhaps causing another page to be paged out.</p>
+<section id="read">
+ <title>Reading the memory map:</title>
- <p>Reading the memory map:</p>
<list>
-
<item>
<p>Addresses are diplayed in hexadecimal (base 16).</p>
</item>
<item>
- <p>Sizes are displayed in <link xref="units">IEC binary prefixes</link>.</p>
+ <p>Sizes are displayed in <link xref="units">IEC binary
+ prefixes</link>.</p>
</item>
<item>
- <p>At runtime the process can allocate more memory dynamically into an area
- called the <em>heap</em>, and store arguments and variables into another area
- called the <em>stack</em>.</p>
+ <p>At runtime the process can allocate more memory dynamically into an
+ area called the <em>heap</em>, and store arguments and variables into
+ another area called the <em>stack</em>.</p>
</item>
<item>
<p>The program itself and each of the shared libraries has three entries
- each, one for the read-execute text segment, one for the read-write data segment
- and one for a read-only data segment. Both data segments need to be paged out
- at swap time.</p>
+ each, one for the read-execute text segment, one for the read-write data
+ segment and one for a read-only data segment. Both data segments need to
+ be paged out at swap time.</p>
</item>
</list>
<table shade="rows">
-
<tr>
- <td><p>Properties</p></td>
- </tr>
-
+ <td><p>Properties</p></td>
+ </tr>
<tr>
- <td><p>Filename</p></td>
- <td><p>The location of a shared library that is currently used by the process.
- If this field is blank, the memory information in this row describes memory
- that is owned by the process whose name is displayed above the memory-map
- table.</p></td>
- </tr>
-
+ <td><p>Filename</p></td>
+ <td><p>The location of a shared library that is currently used by the
+ process. If this field is blank, the memory information in this row
+ describes memory that is owned by the process whose name is displayed above
+ the memory-map table.</p></td>
+ </tr>
<tr>
- <td><p>VM Start</p></td>
- <td><p>The address at which the memory segment begins. VM Start, VM End and VM
- Offset together specify the location on disk to which the shared library is
- mapped.</p></td>
- </tr>
-
+ <td><p>VM Start</p></td>
+ <td><p>The address at which the memory segment begins. VM Start, VM End and
+ VM Offset together specify the location on disk to which the shared library
+ is mapped.</p></td>
+ </tr>
<tr>
- <td><p>VM End</p></td>
- <td><p>The address at which the memory segment ends.</p></td>
- </tr>
-
+ <td><p>VM End</p></td>
+ <td><p>The address at which the memory segment ends.</p></td>
+ </tr>
<tr>
- <td><p>VM Offset</p></td>
- <td><p>The location of the address within the memory segment, measured from VM
- Start.</p></td>
- </tr>
-
+ <td><p>VM Offset</p></td>
+ <td><p>The location of the address within the memory segment, measured from
+ VM Start.</p></td>
+ </tr>
<tr>
- <td><p>VM Size</p></td>
- <td><p>The size of the memory segment.</p></td>
- </tr>
-
+ <td><p>VM Size</p></td>
+ <td><p>The size of the memory segment.</p></td>
+ </tr>
<tr>
- <td><p>Flags</p></td>
- <td><p>The following flags describe the different types of memory-segment access
- that the process can have:</p>
+ <td><p>Flags</p></td>
+ <td><p>The following flags describe the different types of memory-segment
+ access that the process can have:</p>
<terms>
- <item>
- <title><gui>p</gui></title>
- <p>The memory segment is private to the process, and is not accessible to
- other processes.</p>
- </item>
- <item>
- <title><gui>r</gui></title>
- <p>The process has permission to read from the memory segment.</p>
- </item>
- <item>
- <title><gui>s</gui></title>
- <p>The memory segment is shared with other processes.</p>
- </item>
- <item>
- <title><gui>w</gui></title>
- <p>The process has permission to write into the memory segment.</p>
- </item>
- <item>
- <title><gui>x</gui></title>
- <p>The process has permission to execute instructions that are contained
- within the memory segment.</p>
- </item>
+ <item>
+ <title><gui>p</gui></title>
+ <p>The memory segment is private to the process, and is not accessible
+ to other processes.</p>
+ </item>
+ <item>
+ <title><gui>r</gui></title>
+ <p>The process has permission to read from the memory segment.</p>
+ </item>
+ <item>
+ <title><gui>s</gui></title>
+ <p>The memory segment is shared with other processes.</p>
+ </item>
+ <item>
+ <title><gui>w</gui></title>
+ <p>The process has permission to write into the memory segment.</p>
+ </item>
+ <item>
+ <title><gui>x</gui></title>
+ <p>The process has permission to execute instructions that are
+ contained within the memory segment.</p>
+ </item>
</terms>
- </td>
- </tr>
+ </td>
+ </tr>
<tr>
- <td><p>Device</p></td>
- <td><p>The major and minor numbers of the device on which the shared library
- filename is located. Together these specify a partition on the system.</p></td>
- </tr>
+ <td><p>Device</p></td>
+ <td><p>The major and minor numbers of the device on which the shared
+ library filename is located. Together these specify a partition on the
+ system.</p></td>
+ </tr>
<tr>
- <td><p>Inode</p></td>
- <td><p>The inode on the device from which the shared library location is loaded
- into memory. An inode is the structure the filesystem uses to store a file, and
- the number assigned to it is unique.</p></td>
- </tr>
-
+ <td><p>Inode</p></td>
+ <td><p>The inode on the device from which the shared library location is
+ loaded into memory. An inode is the structure the filesystem uses to store
+ a file, and the number assigned to it is unique.</p></td>
+ </tr>
</table>
+</section>
</page>
diff --git a/help/C/memory-map-what.page b/help/C/memory-map-what.page
index ebc4156..c808962 100644
--- a/help/C/memory-map-what.page
+++ b/help/C/memory-map-what.page
@@ -1,8 +1,9 @@
<page xmlns="http://projectmallard.org/1.0/"
type="topic" style="task"
id="memory-map-what">
+
<info>
- <revision version="0.2" pkgversion="3.11" date="2014-01-26" status="review"/>
+ <revision pkgversion="3.11" date="2014-01-28" status="candidate"/>
<link type="guide" xref="index" group="memory" />
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
@@ -19,50 +20,60 @@
<years>2011, 2014</years>
</credit>
- <desc>The memory map of a process can help diagnose certain memory issues.</desc>
+ <desc>The memory map of a process can help diagnose certain memory
+ issues.</desc>
</info>
<title>What is a memory map?</title>
<comment>
<cite date="2011-06-18" href="mailto:philbull gmail com">Phil Bull</cite>
- <p>Difficult conceptual topic. Explain how to use memory maps to do whatever
- the hell you're supposed to use them for.</p>
+ <p>Difficult conceptual topic. Explain how to use memory maps to do
+ whatever the hell you're supposed to use them for.</p>
+ </comment>
+
+ <comment>
+ <cite date="2014-01-28" href="mailto:kittykat3756 gmail com">Kat</cite>
+ <p>TODO: check gui tags.</p>
</comment>
- <p><gui>Virtual memory</gui> is a representation of the combined <gui>physical
- memory</gui> and <link xref="mem-swap">swap space</link> in a system. It enables running processes
- to access <em>more</em> than the existing physical memory by <gui>mapping</gui>
- locations in physical memory to files on disk.</p>
+ <p><gui>Virtual memory</gui> is a representation of the combined
+ <gui>physical memory</gui> and <link xref="mem-swap">swap space</link> in a
+ system. It enables running processes to access <em>more</em> than the
+ existing physical memory by <gui>mapping</gui> locations in physical memory
+ to files on disk.</p>
- <p>When a program is launched, the system assigns it a unique process ID (PID)
- and its <em>instructions</em> and <em>data</em> are loaded into memory in
- <em>pages</em>. The page table of each process maps the correspondence between
- its pages in virtual memory and their location in physical memory. The
- <gui>memory map</gui> displays the total virtual memory use of the process, and
- can be used to determine the memory cost of running a single or multiple
- instances of the program, to ensure the use of the correct shared libraries, to
- see the results of adjusting various performance tuning parameters the program
- may have, or to diagnose issues such as memory leaks.</p>
+ <p>When a program is launched, the system assigns it a unique process ID
+ (PID) and its <em>instructions</em> and <em>data</em> are loaded into memory
+ in <em>pages</em>. The page table of each process maps the correspondence
+ between its pages in virtual memory and their location in physical memory.
+ The <gui>memory map</gui> displays the total virtual memory use of the
+ process, and can be used to determine the memory cost of running a single or
+ multiple instances of the program, to ensure the use of the correct shared
+ libraries, to see the results of adjusting various performance tuning
+ parameters the program may have, or to diagnose issues such as memory
+ leaks.</p>
- <p>If multiple copies of a program are running, the instructions (or <em>text</em>)
- of the program only need to be loaded once into physical memory. Each time a
- new instance of the program is launched (as a unique process with its own virtual
- memory pages), its page table maps the location of the text in virtual memory to
- those instructions in the original real memory location. In addition, any dynamic
- shared libraries used by the process appear as distinct in virtual memory, but
- are shared references to a single copy of the library's text segment in real
- memory. When accounting for the total memory use of a process, it is important
- to note that the cost of shared libraries loaded into memory can be spread
- across all processes currently using them.</p>
+ <p>If multiple copies of a program are running, the instructions (or
+ <em>text</em>) of the program only need to be loaded once into physical
+ memory. Each time a new instance of the program is launched (as a unique
+ process with its own virtual memory pages), its page table maps the location
+ of the text in virtual memory to those instructions in the original real
+ memory location. In addition, any dynamic shared libraries used by the
+ process appear as distinct in virtual memory, but are shared references to a
+ single copy of the library's text segment in real memory. When accounting for
+ the total memory use of a process, it is important to note that the cost of
+ shared libraries loaded into memory can be spread across all processes
+ currently using them.</p>
<p>When the system needs more pages of memory than are available, some of the
- existing pages will be <em>paged out</em> or written to the <gui>swap space</gui>.
- Text pages are flagged read-execute in memory and don't need to be written to
- swap since they can be re-loaded from their original location on disk. Data
- pages have read-write permissions, and if modified when in memory, they are
- labeled <em>dirty</em>, and when designated for swapping, must be paged out.
- When a page in swap space is required by a running process, it needs to be
- swapped back in before use, perhaps causing another page to be paged out.</p>
+ existing pages will be <em>paged out</em> or written to the <gui>swap
+ space</gui>. Text pages are flagged read-execute in memory and don't need to
+ be written to swap since they can be re-loaded from their original location
+ on disk. Data pages have read-write permissions, and if modified when in
+ memory, they are labeled <em>dirty</em>, and when designated for swapping,
+ must be paged out. When a page in swap space is required by a running
+ process, it needs to be swapped back in before use, perhaps causing another
+ page to be paged out.</p>
</page>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]