[gnome-system-monitor/wip/mallard-help: 15/62] Mem page mods



commit e65f5b3a5e1d17701ccaf5095c4aee09e5293805
Author: Mike Hill <mdhillca gmail com>
Date:   Sat Aug 20 22:00:11 2011 -0400

    Mem page mods

 help/C/mem-swap.page        |    6 +-
 help/C/memory-map-use.page  |  138 +++-------------------------------------
 help/C/memory-map-what.page |  147 ++++++++++++++++++++++++++++++++++++++++---
 3 files changed, 152 insertions(+), 139 deletions(-)
---
diff --git a/help/C/mem-swap.page b/help/C/mem-swap.page
index 57f9858..6c386b3 100644
--- a/help/C/mem-swap.page
+++ b/help/C/mem-swap.page
@@ -11,14 +11,16 @@
       <years>2011</years>
     </credit>
 
-    <desc>Swap memory allows your computer to run more applications at the same time than will fit into the 
system memory (RAM).</desc>
+    <desc>Swap memory allows your computer to run more applications at the same
+ time than will fit into the system memory (RAM).</desc>
   </info>
 
   <title>What is 'swap' memory?</title>
 
   <comment>
     <cite date="2011-06-18" href="mailto:philbull gmail com">Phil Bull</cite>
-    <p>Explain what swap is and how it helps. Explain that the computer may run slowly if it's swapping too 
much.</p>
+    <p>Explain what swap is and how it helps. Explain that the computer may run
+ slowly if it's swapping too much.</p>
   </comment>
 
   <p>Short introductory text...</p>
diff --git a/help/C/memory-map-use.page b/help/C/memory-map-use.page
index bb9a205..3629c9b 100644
--- a/help/C/memory-map-use.page
+++ b/help/C/memory-map-use.page
@@ -11,142 +11,22 @@
       <years>2011</years>
     </credit>
 
-    <desc>The memory map of a process...</desc>
+    <desc>Display the memory map of a process.</desc>
   </info>
 
-  <title>Understand and use memory maps</title>
+  <title>Using memory maps</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>Explain how to use the Memory Map feature.</p>
   </comment>
 
-  <p><gui>Virtual memory</gui> is a representation of the combined <gui>physical
- memory</gui> and <gui>swap space</gui> 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>Short introductory text...</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 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>
-
-  <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>
-    </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>
-    </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>
-    </item>
-  </list>
-
- <terms>
- <title>Properties</title>
-  <item>
-    <title><gui>Filename</gui></title>
-    <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>
-  </item>
-  <item>
-    <title><gui>VM Start</gui></title>
-    <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>
-  </item>
-  <item>
-    <title><gui>VM End</gui></title>
-    <p>The address at which the memory segment ends.</p>
-  </item>
-    <item>
-      <title><gui>VM Offset</gui></title>
-    <p>The location of the address within the memory segment, measured from VM
- Start.</p>
-    </item>
-  <item>
-    <title><gui>VM Size</gui></title>
-    <p>The size of the memory segment.</p>
-  </item>
-  <item>
-    <title><gui>Flags</gui></title>
-    <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>Device</gui></title>
-    <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>
-    </item>
-    <item>
-      <title><gui>Inode</gui></title>
-    <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>
-    </item>
-  </terms>
-  </item>
-</terms>
+  <steps>
+    <item><p>First step...</p></item>
+    <item><p>Second step...</p></item>
+    <item><p>Third step...</p></item>
+  </steps>
 
 </page>
diff --git a/help/C/memory-map-what.page b/help/C/memory-map-what.page
index e062296..7f22cab 100644
--- a/help/C/memory-map-what.page
+++ b/help/C/memory-map-what.page
@@ -11,22 +11,153 @@
       <years>2011</years>
     </credit>
 
-    <desc>Memory maps let you... XXXXXX</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>Explain what the Memory Map feature is and what it's useful 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>
 
-  <p>Short introductory text...</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>
 
-  <steps>
-    <item><p>First step...</p></item>
-    <item><p>Second step...</p></item>
-    <item><p>Third step...</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 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>
+
+  <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>
+    </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>
+    </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>
+    </item>
+  </list>
+
+<table shade="rows">
+
+  <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>
+
+  <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>
+
+  <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>
+
+  <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>
+    <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>
+    </terms>
+   </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>
+  <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>
 
 </page>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]