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