<?xml version="1.0" encoding="utf-8"?>
<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="ru">

  <info>
    <revision pkgversion="3.11" date="2014-01-28" status="candidate"/>
    <link type="guide" xref="index#memory" group="memory"/>

    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>

    <credit type="author copyright">
      <name>Phil Bull</name>
      <email>philbull@gmail.com</email>
      <years>2011</years>
    </credit>

    <credit type="author copyright">
      <name>Michael Hill</name>
      <email>mdhillca@gmail.com</email>
      <years>2011, 2014</years>
    </credit>

    <desc>Просмотр карты памяти процесса.</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Алексей Кабанов</mal:name>
      <mal:email>ak099@mail.ru</mal:email>
      <mal:years>2016</mal:years>
    </mal:credit>
  </info>

  <title>Использование карт памяти</title>

  <p><gui>Виртуальная память</gui> — это сочетание <gui>физической памяти</gui> и <link xref="mem-swap">пространства подкачки</link> в системе. Она позволяет запущенным процессам получать доступ к <em>большему</em> объёму памяти, чем существующий физический объем оперативной памяти, посредством <gui>отображения</gui> мест в оперативной памяти в файлы на диске. Когда системе требуется больше страниц памяти, чем доступно, некоторые из существующих страниц будут<em>вытеснены</em> из ОЗУ и записаны в область подкачки.</p>

  <p><gui>Карта памяти</gui> показывает использование процессом общей виртуальной памяти и может применяться, чтобы определить затраты памяти на выполнение одного или нескольких экземпляров программы, чтобы убедиться в правильном использовании разделяемых библиотек, чтобы увидеть результаты подстройки различных параметров, влияющих на быстродействие или для диагноза некоторых проблем, таких как утечка памяти.</p>

  <p>Чтобы увидеть <link xref="memory-map-what">карту памяти </link> процесса:</p>

  <steps>
    <item><p>Зайдите на вкладку <gui>Процессы</gui>.</p></item>
    <item><p>Щёлкните правой кнопкой на нужном процессе в <gui>списке процессов</gui>.</p></item>
    <item><p>Выберите <gui>Карты памяти</gui>.</p></item>
  </steps>

<section id="read">
  <title>Чтение карты памяти</title>

  <list>
    <item>
      <p>Addresses are displayed in hexadecimal (base 16).</p>
    </item>
    <item>
      <p>Размеры отображаются с использованием <link xref="units">двоичных приставок МЭК</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" ui:expanded="false">
<title>Properties</title>
  <tr>
	  <td><p>Имя файла</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</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</p></td>
	  <td><p>The address at which the memory segment ends.</p></td>
  </tr>
  <tr>
	  <td><p>Размер VM</p></td>
	  <td><p>Размер сегмента памяти.</p></td>
  </tr>
  <tr>
	  <td><p>Флаги</p></td>
	  <td><p>Следующие флаги описывают разные типы доступа к сегменту памяти, которые может иметь процесс:</p>
    <terms>
      <item>
        <title><gui>p</gui></title>
        <p>Сегмент памяти является частным для процесса и недоступным для других процессов.</p>
      </item>
      <item>
        <title><gui>r</gui></title>
        <p>Процесс имеет право на чтение из сегмента памяти.</p>
      </item>
      <item>
        <title><gui>s</gui></title>
        <p>Сегмент памяти используется совместно с другими процессами.</p>
      </item>
      <item>
        <title><gui>w</gui></title>
        <p>Процесс имеет право на запись в сегмент памяти.</p>
      </item>
      <item>
        <title><gui>x</gui></title>
        <p>Процесс имеет право на исполнение инструкций, содержащихся в сегменте памяти.</p>
      </item>
    </terms>
    </td>
  </tr>
  <tr>
	  <td><p>Смещение VM</p></td>
	  <td><p>Расположение адреса в сегменте памяти, отсчитывая от Начала VM.</p></td>
  </tr>
  <tr>
	  <td><p>Неразделяемая, разделяемая, чистая, использованная</p></td>
<!--	  <td><p>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.</p></td>
-->
          <td><list><item><p><em>Неразделяемая</em> — доступ к страницам имеет один процесс</p></item>
          <item><p><em>Разделяемая</em> — доступ к страницам может осуществляться более чем одним процессом</p></item>
          <item><p><em>clean</em> pages have not yet been modified
  while in memory and can be discarded when designated to be swapped
  out</p></item>
          <item><p><em>dirty</em> pages have been modified while in
  memory and must be written to disk when designated to be swapped
  out</p></item></list></td>
  </tr>
  <tr>
	  <td><p>Носитель</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>

</section>
</page>
