1<!DOCTYPE HTML>
2
3<!--
4about:memory template page
5-->
6<html id="t">
7<head>
8  <meta charset="utf-8">
9  <title>About Memory</title>
10  <link rel="stylesheet" href="chrome://memory-redirect/about_memory.css">
11<style>
12body {
13  font-family: Helvetica, sans-serif;
14}
15div#header select {
16  font-family: Helvetica, sans-serif;
17}
18div.otherbrowsers {
19  font-family: Helvetica, sans-serif;
20}
21table.list#browserComparison tr:not([class*='firstRow']) > *:nth-child(1),
22table.list#browserComparison tr:not([class*='firstRow']) > *:nth-child(6),
23table.list#browserComparison tr.firstRow th:nth-child(1) {
24  border-right: 1px solid #b5c6de;
25}
26table.list#memoryDetails tr:not([class*='firstRow']) > *:nth-child(2),
27table.list#memoryDetails tr:not([class*='firstRow']) > *:nth-child(7),
28table.list#memoryDetails tr.firstRow th:nth-child(2) {
29  border-right: 1px solid #b5c6de;
30}
31</style>
32<script src="chrome://resources/js/load_time_data.js"></script>
33<script src="chrome://memory-redirect/memory.js"></script>
34<script src="chrome://memory-redirect/strings.js"></script>
35</head>
36<body>
37    <div id="header">
38      <h1>
39        About memory
40      </h1>
41      <p>
42        Measuring memory usage in a multi-process browser
43      </p>
44    </div>
45
46    <div id="content">
47      <h2>
48        Summary
49        <div class="help">
50          <div>
51            <p>
52              Summary of memory used by currently active browsers.<p>
53              For Chromium, processes used to to display diagnostics
54              information (such as this "about:memory") are excluded.
55            </p>
56          </div>
57        </div>
58      </h2>
59
60      <table class="list" id="browserComparison">
61        <colgroup>
62          <col class="name">
63          <col class="number">
64          <col class="number">
65          <col class="number">
66          <col class="number">
67        </colgroup>
68        <tr class="firstRow doNotFilter">
69          <th>
70          </th>
71          <th colspan="4">
72            Memory
73            <div class="help">
74              <div>
75                <p>
76                  <strong>Memory</strong>
77                </p>
78                <p>
79                  <strong>Resident:</strong>
80                  Amount of memory that is present in physical RAM.
81                  This is the best indicator of browser memory resource usage.
82                </p>
83                <p>
84                  <strong>Shared:</strong>
85                  Amount of memory that is present in physical RAM and can
86                  be shared with another process.
87                </p>
88                <p>
89                  <strong>Private:</strong>
90                  Amount of memory that is present in physical RAM and can not
91                  be shared with another process.
92                </p>
93                <p>
94                  <strong>Virtual:</strong>
95                  Amount of address space allocated in virtual memory.
96                </p>
97
98                <p>
99                  <i>(Note that the memory for this tab is not included in the browser totals.)</i>
100                </p>
101              </div>
102            </div>
103          </th>
104        </tr>
105        <tr class="secondRow doNotFilter">
106          <th class="name">
107            Browser
108          </th>
109          <th class="number">
110            Resident
111          </th>
112          <th class="number">
113            Shared
114          </th>
115          <th class="number">
116            Private
117          </th>
118          <th class="number">
119            Virtual
120          </th>
121        </tr>
122        <tr jsselect="browsers">
123          <td class="name">
124            <div>
125              <strong jscontent="name"></strong> <span jscontent="version"></span>
126            </div>
127          </td>
128          <td class="number">
129            <span class="th" jscontent="formatNumber(ws_shareable)"></span><span class="k">k</span>
130          </td>
131          <td class="number">
132            <span class="th" jscontent="formatNumber(ws_shared)"></span><span class="k">k</span>
133          </td>
134          <td class="number">
135            <span class="th" jscontent="formatNumber(ws_priv)"></span><span class="k">k</span>
136          </td>
137          <td class="number">
138            <span class="th" jscontent="formatNumber(comm_priv)"></span><span class="k">k</span>
139          </td>
140        </tr>
141      </table>
142      <div class="otherbrowsers" jsdisplay="browsers.length == 1">
143        Note: This page will show memory use for all running browsers,
144        not just Chrome.
145      </div>
146      <div class="otherbrowsers" jsdisplay="browsers.length > 1">
147        Note: Chrome includes memory used by plug-ins, other browsers may not.
148      </div>
149      <div class="otherbrowsers">
150        (Bug: We seriously overcount our own memory usage: <a href="http://crbug.com/25454">Issue 25454</a>.)
151      </div>
152
153      <br><br><br>
154
155      <h2>
156        Processes
157        <div class="help">
158          <div>
159            <p>
160              Details of memory usage for each of Chromium's processes.
161            </p>
162          </div>
163        </div>
164      </h2>
165
166      <table class="list" id="memoryDetails">
167        <colgroup>
168          <col class="pid">
169          <col class="name">
170          <col class="number">
171          <col class="number">
172          <col class="number">
173          <col class="number">
174        </colgroup>
175        <tr class="firstRow doNotFilter">
176          <th>
177          </th>
178          <th>
179          </th>
180          <th colspan="4">
181            Memory
182          </th>
183        </tr>
184        <tr class="secondRow doNotFilter">
185          <th class="pid">
186            PID
187          </th>
188          <th class="name">
189            Name
190          </th>
191          <th class="number">
192            Resident
193          </th>
194          <th class="number">
195            Shared
196          </th>
197          <th class="number">
198            Private
199          </th>
200          <th class="number">
201            Virtual
202          </th>
203        </tr>
204
205        <tr jsselect="browzr_data">
206          <td class="pid">
207            <span class="th" jscontent="pid"></span>
208          </td>
209          <td class="name">
210            <div>
211              Browser
212            </div>
213          </td>
214          <td class="number">
215            <span class="th" jscontent="formatNumber(ws_shareable)"></span><span class="k">k</span>
216          </td>
217          <td class="number">
218            <span class="th" jscontent="formatNumber(ws_shared)"></span><span class="k">k</span>
219          </td>
220          <td class="number">
221            <span class="th" jscontent="formatNumber(ws_priv)"></span><span class="k">k</span>
222          </td>
223          <td class="number">
224            <span class="th" jscontent="formatNumber(comm_priv)"></span><span class="k">k</span>
225          </td>
226        </tr>
227        <tr jsselect="child_data">
228          <td class="pid">
229            <span class="th" jscontent="pid"></span>
230          </td>
231          <td class="name">
232            <div jscontent="child_name"></div>
233            <div jsselect="titles">
234              <span jscontent="$this"></span><br>
235            </div>
236          </td>
237          <td class="number">
238            <span class="th" jscontent="formatNumber(ws_shareable)"></span><span class="k">k</span>
239          </td>
240          <td class="number">
241            <span class="th" jscontent="formatNumber(ws_shared)"></span><span class="k">k</span>
242          </td>
243          <td class="number">
244            <span class="th" jscontent="formatNumber(ws_priv)"></span><span class="k">k</span>
245          </td>
246          <td class="number">
247            <span class="th" jscontent="formatNumber(comm_priv)"></span><span class="k">k</span>
248          </td>
249        </tr>
250
251        <tr class="noResults">
252          <td colspan="99">
253            No results found.
254          </td>
255        </tr>
256      </table>
257      <div class="otherbrowsers">
258        (Note: Due to memory sharing between processes, summing memory usage does not give total memory usage.)
259      </div>
260    </div>
261    <script src="chrome://resources/js/jstemplate_compiled.js"></script>
262</body>
263</html>
264