sysperfana/memspyext/com.nokia.s60tools.memspy.help/html/reference/isolation.htm
author Matti Laitinen <matti.t.laitinen@nokia.com>
Wed, 21 Apr 2010 20:01:08 +0300
changeset 7 8e12a575a9b5
permissions -rw-r--r--
MemSpy Carbide Extension 1.6.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
<html>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
<head>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
  <title>Isolation and Pervasiveness</title>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
  <link href="../../book.css" type="text/css" rel="stylesheet">
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
</head>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
<body>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
<h2>Isolation and Pervasiveness</h2>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
<p>The Isolation and Pervasiveness views are about highlighting reference
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
density.</p>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
<p>The <strong>Isolation</strong> view shades objects from cold (blue) to hot
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
(more red) based on how &ldquo;popular&rdquo; they are with other objects. The
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
actual incoming reference count is also displayed in the box at the start of
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
each object. Darkest blue objects with a red zero count indicate objects that
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
have no references at all within the heap itself. That does not necessarily
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
mean they are orphans that have been leaked; they could be referenced from the
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
stack or from static variables instead. However, if you do think you may have a
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
memory leak then these zero count objects are a good place to start looking.</p>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
<p><img src="../images/ha_heap_view_isolation.png"></p>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
<p>The <strong>Pervasiveness</strong> view is the inverse of the Isolation
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
view. In Pervasiveness view, objects are shaded from cold (blue) to hot (more
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
red) based on how many other objects they are &ldquo;interested&rdquo; in. The
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
actual outgoing reference count is also displayed in the box at the start of
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
the object. The other highlighted boxes within cells are the actual locations
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
of the potential outgoing references Heap Analyser has identified. As pure data
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
datatypes with no outgoing references, descriptors are distinguished in yellow
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
here. If you have a memory leak, bright red objects may be worth investigating
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
as the potential home to an abnormally large number of references. For example,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
the buffer object within a large array of pointers may be highlighted in this
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
view, and in some cases could be the source of a leak e.g. due to forgetting to
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
delete objects from the array when they&rsquo;re no longer needed.</p>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
<p><img src="../images/ha_heap_view_pervasiveness.png"></p>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
<h5>Related references</h5>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
<ul>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
  <li><a href="cell_type.htm">Cell Type</a></li>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
  <li><a href="object_type.htm">Object Type</a></li>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
  <li><a href="parent_binary.htm">Parent Binary</a></li>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
  <li><a href="cell_lenght.htm">Cell Lenght</a></li>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
  <li><a href="HA_data_analysis.htm">Data analysis with Heap Analyser</a></li>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
</ul>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
<div id="footer">
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
reserved. License: <a
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
</body>
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
</html>