Fix build break
[chromium-blink-merge.git] / chrome / browser / resources / about_memory.html
blob1f8a1095686bef8d4fc9f7ef8265cef39ba6b3c4
1 <!DOCTYPE HTML>
3 <!--
4 about:memory template page
5 -->
6 <html id="t">
7 <head>
8 <title>About Memory</title>
9 <link rel="stylesheet" href="chrome://memory-redirect/about_memory.css">
10 <style>
11 body {
12 font-family: Helvetica, Arial, sans-serif;
14 div#header select {
15 font-family: Helvetica, Arial, sans-serif;
17 div.otherbrowsers {
18 font-family: Helvetica, Arial, sans-serif;
20 table.list#browserComparison tr:not([class*='firstRow']) > *:nth-child(1),
21 table.list#browserComparison tr:not([class*='firstRow']) > *:nth-child(4),
22 table.list#browserComparison tr.firstRow th:nth-child(1),
23 table.list#browserComparison tr.firstRow th:nth-child(2) {
24 border-right: 1px solid #b5c6de;
26 table.list#memoryDetails tr:not([class*='firstRow']) > *:nth-child(2),
27 table.list#memoryDetails tr:not([class*='firstRow']) > *:nth-child(5),
28 table.list#memoryDetails tr.firstRow th:nth-child(2),
29 table.list#memoryDetails tr.firstRow th:nth-child(3) {
30 border-right: 1px solid #b5c6de;
32 </style>
33 <script src="chrome://resources/js/load_time_data.js"></script>
34 <script src="chrome://memory-redirect/memory.js"></script>
35 <script src="chrome://memory-redirect/strings.js"></script>
36 </head>
37 <body>
38 <div id='header'>
39 <h1>
40 About memory
41 </h1>
42 <p>
43 Measuring memory usage in a multi-process browser
44 </p>
45 </div>
47 <div id='content'>
48 <h2>
49 Summary
50 <div class='help'>
51 <div>
52 <p>
53 Summary of memory used by currently active browsers. For browsers
54 which use multiple processes, memory reflects aggregate memory
55 used across all browser processes.
56 </p>
57 <p>
58 For <span jscontent="current_browser_name"></span>, processes used
59 to to display diagnostics information (such as this
60 "about:memory") are excluded.
61 </p>
62 </div>
63 </div>
64 </h2>
66 <table class='list' id='browserComparison'>
67 <colgroup>
68 <col class='name'>
69 <col class='number'>
70 <col class='number'>
71 <col class='number'>
72 <col class='number'>
73 <col class='number'>
74 </colgroup>
75 <tr class='firstRow doNotFilter'>
76 <th>
77 </th>
78 <th colspan='3'>
79 Memory
80 <div class='help'>
81 <div>
82 <p>
83 <strong>Memory</strong>
84 </p>
85 <p>
86 <strong>Private:</strong>
87 Resident memory size that is not shared with any other
88 process. This is the best indicator of browser memory
89 resource usage.
90 </p>
91 <p>
92 <strong>Shared:</strong>
93 Resident memory size that is currently shared with 2 or more
94 processes. Note: For browsers using multiple processes, if we
95 simply added the shared memory of each individual process,
96 this value would be inflated. Therefore, this value is
97 computed as an approximate value for shared memory in each of
98 the browser's processes. Note also that shared memory varies
99 depending on what other processes are running on the system,
100 and may be difficult to measure reproducibly.
101 </p>
103 <strong>Total:</strong>
104 The sum of the private + shared resident memory sizes.
105 </p>
106 </div>
107 </div>
108 </th>
109 <th colspan='2'>
110 Virtual memory
111 <div class='help'>
112 <div>
114 <strong>Virtual memory</strong>
115 </p>
117 <strong>Private:</strong>
118 The resident and paged bytes committed for use by only this
119 process.
120 </p>
122 <strong>Mapped:</strong>
123 Total bytes allocated by this process that are mapped into the
124 view of a section, backed by either system pagefile or file
125 system. This is primarily memory-mapped files.
126 </p>
127 </div>
128 </div>
129 </th>
130 </tr>
131 <tr class='secondRow doNotFilter'>
132 <th class='name'>
133 Browser
134 </th>
135 <th class='name'>
136 Private
137 </th>
138 <th class='number'>
139 Shared
140 </th>
141 <th class='number'>
142 Total
143 </th>
144 <th class='number'>
145 Private
146 </th>
147 <th class='number'>
148 Mapped
149 </th>
150 </tr>
151 <tr jsselect="browsers">
152 <td class='name'>
153 <div>
154 <strong jscontent="name"></strong>
155 <span jscontent="version"></span>
156 </div>
157 </td>
158 <td class='number'>
159 <span class='th'
160 jscontent="formatNumber(ws_priv + ws_shareable - ws_shared)">
161 </span><span class='k'>k</span>
162 </td>
163 <td class='number'>
164 <span class='th' jscontent="formatNumber(ws_shared / processes)">
165 </span><span class='k'>k</span>
166 </td>
167 <td class='number'>
168 <span class='th'
169 jscontent="formatNumber(ws_priv + ws_shareable - ws_shared +
170 (ws_shared / processes))"></span><span class='k'>k</span>
171 </td>
172 <td class='number'>
173 <span class='th' jscontent="formatNumber(comm_priv)"></span>
174 <span class='k'>k</span>
175 </td>
176 <td class='number'>
177 <span class='th' jscontent="formatNumber(comm_map)"></span>
178 <span class='k'>k</span>
179 </td>
180 </tr>
181 </table>
182 <div class=otherbrowsers jsdisplay="browsers.length == 1">
183 Note: If other browsers (e.g. IE, Firefox, Safari) are running,
184 I'll show their memory details here.
185 </div>
187 <br><br><br>
189 <h2>
190 Processes
191 <div class='help'>
192 <div>
194 Details of memory usage for each of
195 <span jscontent="current_browser_name"></span>'s processes.
196 </p>
197 </div>
198 </div>
199 </h2>
201 <table class='list' id='memoryDetails'>
202 <colgroup>
203 <col class='pid'>
204 <col class='name'>
205 <col class='number'>
206 <col class='number'>
207 <col class='number'>
208 <col class='number'>
209 <col class='number'>
210 </colgroup>
211 <tr class='firstRow doNotFilter'>
212 <th>
213 </th>
214 <th>
215 </th>
216 <th colspan='3'>
217 Memory
218 </th>
219 <th colspan='2'>
220 Virtual memory
221 </th>
223 </tr>
224 <tr class='secondRow doNotFilter'>
225 <th class='pid'>
227 </th>
228 <th class='name'>
229 Name
230 </th>
231 <th class='number'>
232 Private
233 </th>
234 <th class='number'>
235 Shared
236 </th>
237 <th class='number'>
238 Total
239 </th>
240 <th class='number'>
241 Private
242 </th>
243 <th class='number'>
244 Mapped
245 </th>
246 </tr>
248 <tr jsselect="browzr_data">
249 <td class='pid'>
250 <span class='th' jscontent="pid"></span>
251 </td>
252 <td class='name'>
253 <div>
254 Browser
255 </div>
256 </td>
257 <td class='number'>
258 <span class='th' jseval="addToSum('tot_ws_priv', $this.ws_priv +
259 $this.ws_shareable - $this.ws_shared)" jscontent="ws_priv +
260 ws_shareable - ws_shared"></span><span class='k'>k</span>
261 </td>
262 <td class='number'>
263 <span class='th' jscontent="ws_shared"></span>
264 <span class='k'>k</span>
265 </td>
266 <td class='number'>
267 <span class='th' jseval="addToSum('tot_ws_tot', $this.ws_priv +
268 $this.ws_shareable)" jscontent="ws_priv +
269 ws_shareable"></span><span class='k'>k</span>
270 </td>
271 <td class='number'>
272 <span class='th' jseval="addToSum('tot_comm_priv', $this.comm_priv)"
273 jscontent="comm_priv"></span><span class='k'>k</span>
274 </td>
275 <td class='number'>
276 <span class='th' jseval="addToSum('tot_comm_map', $this.comm_map)"
277 jscontent="comm_map"></span><span class='k'>k</span>
278 </td>
279 </tr>
280 <tr jsselect="child_data">
281 <td class='pid'>
282 <span class='th' jscontent="pid"></span>
283 </td>
284 <td class='name'>
285 <div jscontent="child_name"></div>
286 <div jsselect="titles">
287 <span jscontent="$this"></span><br>
288 </div>
289 </td>
290 <td class='number'>
291 <span class='th' jseval="addToSum('tot_ws_priv', $this.ws_priv +
292 $this.ws_shareable - $this.ws_shared)" jscontent="ws_priv +
293 ws_shareable - ws_shared"></span><span class='k'>k</span>
294 </td>
295 <td class='number'>
296 <span class='th' jscontent="ws_shared"></span><span
297 class='k'>k</span>
298 </td>
299 <td class='number'>
300 <span class='th' jseval="addToSum('tot_ws_tot', $this.ws_priv +
301 $this.ws_shareable)" jscontent="ws_priv +
302 ws_shareable"></span><span class='k'>k</span>
303 </td>
304 <td class='number'>
305 <span class='th' jseval="addToSum('tot_comm_priv', $this.comm_priv)"
306 jscontent="comm_priv"></span><span class='k'>k</span>
307 </td>
308 <td class='number'>
309 <span class='th' jseval="addToSum('tot_comm_map', $this.comm_map)"
310 jscontent="comm_map"></span><span class='k'>k</span>
311 </td>
312 </tr>
313 <tr class='total doNotFilter'>
314 <td class='pid'>
315 </td>
316 <td class='name'>
317 &Sigma;
318 </td>
319 <td class='number'>
320 <span class='th' id="tot_ws_priv">0</span><span class='k'>k</span>
321 </td>
322 <td class='number'>
323 </td>
324 <td class='number'>
325 <span class='th' id="tot_ws_tot">0</span><span class='k'>k</span>
326 </td>
327 <td class='number'>
328 <span class='th' id="tot_comm_priv">0</span><span class='k'>k</span>
329 </td>
330 <td class='number'>
331 <div class='help'>
332 <div>
334 This is an approximation. Conceptually, this is the total
335 amount of in-memory pages for the entire logical
336 <span jscontent="current_browser_name"></span> application,
337 without double counting shared pages (e.g. mapped DLLs,
338 SharedMemory bitmaps, etc.) across the browser and renderers.
339 </p>
340 </div>
341 </div>
342 <span class='th' id="tot_comm_map">0</span><span class='k'>k</span>
343 </td>
344 </tr>
346 <tr class='noResults'>
347 <td colspan='99'>
348 No results found.
349 </td>
350 </tr>
351 </table>
352 </div>
353 <script src="chrome://resources/js/jstemplate_compiled.js"></script>
354 </body>
355 </html>