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