diff options
Diffstat (limited to 'chrome/browser/resources/about_memory.html')
-rw-r--r-- | chrome/browser/resources/about_memory.html | 566 |
1 files changed, 283 insertions, 283 deletions
diff --git a/chrome/browser/resources/about_memory.html b/chrome/browser/resources/about_memory.html index ddae623..0c31cdd 100644 --- a/chrome/browser/resources/about_memory.html +++ b/chrome/browser/resources/about_memory.html @@ -1,13 +1,13 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> - +<!DOCTYPE HTML> + <!-- about:memory template page ---> -<html id="t"> - <head> - <title>About Memory</title> - -<style type="text/css"> +--> +<html id="t"> + <head> + <title>About Memory</title> + +<style> body { font-size: 84%; font-family: Arial, Helvetica, sans-serif; @@ -15,14 +15,14 @@ body { margin: 0; min-width: 45em; } - + h1 { font-size: 110%; font-weight: bold; color: #4a8ee6; letter-spacing: -1px; padding: 0; - margin: 0; + margin: 0; } h2 { font-size: 110%; @@ -35,10 +35,10 @@ h2 { color: #3a75bd; margin-left: -38px; padding-left: 38px; - + border-top: 1px solid #3a75bd; padding-top: 0.5em; - + } h2:first-child { border-top: 0; @@ -50,7 +50,7 @@ span.th { a { color: black; } - + div#header { padding: 0.75em 1em; padding-top: 0.6em; @@ -98,7 +98,7 @@ div#header select { div#header select option { padding: 0 0.2em; } - + div#sidebar { display: none; float: left; @@ -107,13 +107,13 @@ div#sidebar { min-height: 20em; padding: 0.75em; padding-top: 0; - + border-right: 1px solid #cfcfcf; } div#content { margin-left: 0px; } - + div.viewOptions { float: right; font-size: 92%; @@ -133,15 +133,15 @@ div.viewOptions input { padding: 0.3em 0.4em; } div.viewOptions input:focus { - border-color: white; + border-color: white; } - + .k { opacity: 0.4; font-weight: normal; padding-left: 0.1em; } - + .legend { font-size: 84%; padding: 0; @@ -158,7 +158,7 @@ div.viewOptions input:focus { font-weight: normal; color: black; display: inline; - font-size: 100%; + font-size: 100%; } .legend .swatch { opacity: 0.66; @@ -170,7 +170,7 @@ div.viewOptions input:focus { .legend .swatch.heavyUse { background: #cc0000; } - + table.list { width: 100%; line-height: 200%; @@ -197,7 +197,7 @@ table.list .firstRow th { line-height: 100%; } table.list .secondRow * { - text-align: left; + text-align: left; border-bottom: 1px solid #b5c6de; } table.list td { @@ -213,11 +213,11 @@ table.list tr th:nth-last-child(1) { table.list:not([class*='filtered']) .tab .name { padding-left: 1.5em; } - + table.list .name { width: 100%; } - + table.list .name div { height: 1.6em; overflow: hidden; @@ -260,19 +260,19 @@ table.list .noResults td { padding: 3em 0; color: #3f3f3f; } - + .heavyUse { color: #cc0000; font-weight: bold; } - + table.list#memoryDetails tr:not([class*='firstRow']) > *:nth-child(2), table.list#memoryDetails tr:not([class*='firstRow']) > *:nth-child(5), table.list#memoryDetails tr.firstRow th:nth-child(2), table.list#memoryDetails tr.firstRow th:nth-child(3) { border-right: 1px solid #b5c6de; } - + table.list#browserComparison tr:not([class*='firstRow']) > *:nth-child(1), table.list#browserComparison tr:not([class*='firstRow']) > *:nth-child(4), table.list#browserComparison tr.firstRow th:nth-child(1), @@ -284,7 +284,7 @@ table.list#browserComparison .name { background-position: 5px center; background-repeat: no-repeat; } - + div.help { display: inline-block; width: 14px; @@ -320,11 +320,11 @@ div.otherbrowsers { width: 100%; text-align: center; } -</style> -<script> +</style> +<script> function reload() { if (document.getElementById('helpTooltip')) - return; + return; history.go(0); } @@ -339,7 +339,7 @@ function formatNumber(str) { } return x1; } - + function addToSum(id, value) { var target = document.getElementById(id); var sum = parseInt(target.innerHTML); @@ -355,21 +355,21 @@ function handleHelpTooltipMouseOver(event) { el.style.left = 0; el.style.visibility = 'hidden'; document.body.appendChild(el); - + var width = el.offsetWidth; var height = el.offsetHeight; if (event.pageX - width - 50 + document.body.scrollLeft >= 0 ) { - el.style.left = (event.pageX - width - 20) + 'px'; + el.style.left = (event.pageX - width - 20) + 'px'; } else { - el.style.left = (event.pageX + 20) + 'px'; + el.style.left = (event.pageX + 20) + 'px'; } - - - if (event.pageY - height - 50 + document.body.scrollTop >= 0) { - el.style.top = (event.pageY - height - 20) + 'px'; + + + if (event.pageY - height - 50 + document.body.scrollTop >= 0) { + el.style.top = (event.pageY - height - 20) + 'px'; } else { - el.style.top = (event.pageY + 20) + 'px'; + el.style.top = (event.pageY + 20) + 'px'; } el.style.visibility = 'visible'; @@ -382,306 +382,306 @@ function handleHelpTooltipMouseOut(event) { function enableHelpTooltips() { var helpEls = document.getElementsByClassName('help'); - + for (var i = 0, helpEl; helpEl = helpEls[i]; i++) { helpEl.onmouseover = handleHelpTooltipMouseOver; helpEl.onmouseout = handleHelpTooltipMouseOut; } } - + //setInterval("reload()", 10000); -</script> -</head> -<body> - <div id='header'> - <h1> +</script> +</head> +<body> + <div id='header'> + <h1> About memory - </h1> - <p> + </h1> + <p> Measuring memory usage in a multi-process browser - </p> - </div> - - <div id='content'> - <h2> + </p> + </div> + + <div id='content'> + <h2> Summary - <div class='help'> - <div> - <p> + <div class='help'> + <div> + <p> Summary of memory used by currently active browsers. For browsers which use multiple processes, memory reflects aggregate memory used across all browser processes.<p> For Chromium, processes used to to display diagnostics information (such as this "about:memory") are excluded. - </p> - </div> - </div> - </h2> - - <table class='list' id='browserComparison'> - <colgroup> - <col class='name' /> - <col class='number' /> - <col class='number' /> - <col class='number' /> - <col class='number' /> - <col class='number' /> - </colgroup> - <tr class='firstRow doNotFilter'> - <th> - </th> - <th colspan='3'> + </p> + </div> + </div> + </h2> + + <table class='list' id='browserComparison'> + <colgroup> + <col class='name' /> + <col class='number' /> + <col class='number' /> + <col class='number' /> + <col class='number' /> + <col class='number' /> + </colgroup> + <tr class='firstRow doNotFilter'> + <th> + </th> + <th colspan='3'> Memory - <div class='help'> - <div> - <p> - <strong>Memory</strong> - </p> - <p> - <strong>Private:</strong> - Resident memory size that is not shared with any other process. + <div class='help'> + <div> + <p> + <strong>Memory</strong> + </p> + <p> + <strong>Private:</strong> + Resident memory size that is not shared with any other process. This is the best indicator of browser memory resource usage. - </p> - <p> - <strong>Shared:</strong> - Resident memory size that is currently shared with 2 or more processes. - Note: For browsers using multiple processes, if we simply added the shared memory - of each individual process, this value would be inflated. Therefore, this value - is computed as an approximate value for shared memory in each of the browser's - processes. Note also that shared memory varies depending on what other processes + </p> + <p> + <strong>Shared:</strong> + Resident memory size that is currently shared with 2 or more processes. + Note: For browsers using multiple processes, if we simply added the shared memory + of each individual process, this value would be inflated. Therefore, this value + is computed as an approximate value for shared memory in each of the browser's + processes. Note also that shared memory varies depending on what other processes are running on the system, and may be difficult to measure reproducibly. - </p> - <p> - <strong>Total:</strong> + </p> + <p> + <strong>Total:</strong> The sum of the private + shared resident memory sizes. - </p> - </div> - </div> - </th> - <th colspan='2'> + </p> + </div> + </div> + </th> + <th colspan='2'> Virtual memory - <div class='help'> - <div> - <p> - <strong>Virtual memory</strong> - </p> - <p> - <strong>Private:</strong> + <div class='help'> + <div> + <p> + <strong>Virtual memory</strong> + </p> + <p> + <strong>Private:</strong> The resident and paged bytes committed for use by only this process. - </p> - <p> - <strong>Mapped:</strong> + </p> + <p> + <strong>Mapped:</strong> Total bytes allocated by this process that are mapped into the view of a section, backed by either system pagefile or file system. This is primarily memory-mapped files. - </p> - </div> - </div> - </th> - </tr> - <tr class='secondRow doNotFilter'> - <th class='name'> + </p> + </div> + </div> + </th> + </tr> + <tr class='secondRow doNotFilter'> + <th class='name'> Browser - </th> - <th class='name'> + </th> + <th class='name'> Private </th> - </th> - <th class='number'> + </th> + <th class='number'> Shared - </th> - <th class='number'> + </th> + <th class='number'> Total - </th> - <th class='number'> + </th> + <th class='number'> Private - </th> - <th class='number'> + </th> + <th class='number'> Mapped - </th> - </tr> - <tr jsselect="browsers"> - <td class='name'> - <div> + </th> + </tr> + <tr jsselect="browsers"> + <td class='name'> + <div> <strong jscontent="name"></strong> <span jscontent="version"></span> - </div> - </td> - <td class='number'> - <span class='th' jscontent="formatNumber(ws_priv + ws_shareable - ws_shared)"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jscontent="formatNumber(ws_shared / processes)"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jscontent="formatNumber(ws_priv + ws_shareable - ws_shared + (ws_shared / processes))"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jscontent="formatNumber(comm_priv)"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jscontent="formatNumber(comm_map)"></span><span class='k'>k</span> - </td> - </tr> - </table> + </div> + </td> + <td class='number'> + <span class='th' jscontent="formatNumber(ws_priv + ws_shareable - ws_shared)"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jscontent="formatNumber(ws_shared / processes)"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jscontent="formatNumber(ws_priv + ws_shareable - ws_shared + (ws_shared / processes))"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jscontent="formatNumber(comm_priv)"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jscontent="formatNumber(comm_map)"></span><span class='k'>k</span> + </td> + </tr> + </table> <div class=otherbrowsers jsdisplay="browsers.length == 1"> Note: If other browsers (IE, Firefox, Opera, Safari) are running, I'll show their memory details here. </div> - - <br /><br /><br /> - - <h2> + + <br /><br /><br /> + + <h2> Processes - <div class='help'> - <div> - <p> + <div class='help'> + <div> + <p> Details of memory usage for each of Chromium's processes. - </p> - </div> - </div> - </h2> - - <table class='list' id='memoryDetails'> - <colgroup> - <col class='pid' /> - <col class='name' /> - <col class='number' /> - <col class='number' /> - <col class='number' /> - <col class='number' /> - <col class='number' /> - </colgroup> - <tr class='firstRow doNotFilter'> - <th> - </th> - <th> - </th> - <th colspan='3'> + </p> + </div> + </div> + </h2> + + <table class='list' id='memoryDetails'> + <colgroup> + <col class='pid' /> + <col class='name' /> + <col class='number' /> + <col class='number' /> + <col class='number' /> + <col class='number' /> + <col class='number' /> + </colgroup> + <tr class='firstRow doNotFilter'> + <th> + </th> + <th> + </th> + <th colspan='3'> Memory </th> - <th colspan='2'> + <th colspan='2'> Virtual memory - </th> - - </tr> - <tr class='secondRow doNotFilter'> - <th class='pid'> + </th> + + </tr> + <tr class='secondRow doNotFilter'> + <th class='pid'> PID - </th> - <th class='name'> + </th> + <th class='name'> Name - </th> - <th class='number'> + </th> + <th class='number'> Private - </th> - <th class='number'> + </th> + <th class='number'> Shared - </th> - <th class='number'> + </th> + <th class='number'> Total - </th> - <th class='number'> + </th> + <th class='number'> Private - </th> - <th class='number'> + </th> + <th class='number'> Mapped - </th> - </tr> - - <tr jsselect="browzr_data"> - <td class='pid'> - <span class='th' jscontent="pid"></span> - </td> - <td class='name'> - <div> + </th> + </tr> + + <tr jsselect="browzr_data"> + <td class='pid'> + <span class='th' jscontent="pid"></span> + </td> + <td class='name'> + <div> Browser - </div> - </td> - <td class='number'> - <span class='th' jseval="addToSum('tot_ws_priv', $this.ws_priv + $this.ws_shareable - $this.ws_shared)" jscontent="ws_priv + ws_shareable - ws_shared"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jscontent="ws_shared"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jseval="addToSum('tot_ws_tot', $this.ws_priv + $this.ws_shareable)" jscontent="ws_priv + ws_shareable"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jseval="addToSum('tot_comm_priv', $this.comm_priv)" jscontent="comm_priv"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jseval="addToSum('tot_comm_map', $this.comm_map)" jscontent="comm_map"></span><span class='k'>k</span> - </td> - </tr> - <tr jsselect="child_data"> - <td class='pid'> - <span class='th' jscontent="pid"></span> - </td> - <td class='name'> + </div> + </td> + <td class='number'> + <span class='th' jseval="addToSum('tot_ws_priv', $this.ws_priv + $this.ws_shareable - $this.ws_shared)" jscontent="ws_priv + ws_shareable - ws_shared"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jscontent="ws_shared"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jseval="addToSum('tot_ws_tot', $this.ws_priv + $this.ws_shareable)" jscontent="ws_priv + ws_shareable"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jseval="addToSum('tot_comm_priv', $this.comm_priv)" jscontent="comm_priv"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jseval="addToSum('tot_comm_map', $this.comm_map)" jscontent="comm_map"></span><span class='k'>k</span> + </td> + </tr> + <tr jsselect="child_data"> + <td class='pid'> + <span class='th' jscontent="pid"></span> + </td> + <td class='name'> <div jscontent="child_name"></div> <div jsselect="titles"> <span jscontent="$this"></span><br> - </div> - </td> - <td class='number'> - <span class='th' jseval="addToSum('tot_ws_priv', $this.ws_priv + $this.ws_shareable - $this.ws_shared)" jscontent="ws_priv + ws_shareable - ws_shared"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jscontent="ws_shared"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jseval="addToSum('tot_ws_tot', $this.ws_priv + $this.ws_shareable)" jscontent="ws_priv + ws_shareable"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jseval="addToSum('tot_comm_priv', $this.comm_priv)" jscontent="comm_priv"></span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' jseval="addToSum('tot_comm_map', $this.comm_map)" jscontent="comm_map"></span><span class='k'>k</span> - </td> - </tr> - <tr class='total doNotFilter'> - <td class='pid'> - </td> - <td class='name'> + </div> + </td> + <td class='number'> + <span class='th' jseval="addToSum('tot_ws_priv', $this.ws_priv + $this.ws_shareable - $this.ws_shared)" jscontent="ws_priv + ws_shareable - ws_shared"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jscontent="ws_shared"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jseval="addToSum('tot_ws_tot', $this.ws_priv + $this.ws_shareable)" jscontent="ws_priv + ws_shareable"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jseval="addToSum('tot_comm_priv', $this.comm_priv)" jscontent="comm_priv"></span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' jseval="addToSum('tot_comm_map', $this.comm_map)" jscontent="comm_map"></span><span class='k'>k</span> + </td> + </tr> + <tr class='total doNotFilter'> + <td class='pid'> + </td> + <td class='name'> Σ - </td> - <td class='number'> - <span class='th' id="tot_ws_priv">0</span><span class='k'>k</span> - </td> - <td class='number'> - </td> - <td class='number'> - <span class='th' id="tot_ws_tot">0</span><span class='k'>k</span> - </td> - <td class='number'> - <span class='th' id="tot_comm_priv">0</span><span class='k'>k</span> - </td> + </td> + <td class='number'> + <span class='th' id="tot_ws_priv">0</span><span class='k'>k</span> + </td> <td class='number'> - <div class='help'> - <div> - <p> + </td> + <td class='number'> + <span class='th' id="tot_ws_tot">0</span><span class='k'>k</span> + </td> + <td class='number'> + <span class='th' id="tot_comm_priv">0</span><span class='k'>k</span> + </td> + <td class='number'> + <div class='help'> + <div> + <p> This is an approximation. Conceptually, this is the total amount of in-memory pages for the entire logical Chromium - application, without double counting shared pages (e.g. + application, without double counting shared pages (e.g. mapped DLLs, SharedMemory bitmaps, etc.) across the browser and renderers. - </p> - </div> - </div> - <span class='th' id="tot_comm_map">0</span><span class='k'>k</span> - </td> - </tr> - - <tr class='noResults'> - <td colspan='99'> + </p> + </div> + </div> + <span class='th' id="tot_comm_map">0</span><span class='k'>k</span> + </td> + </tr> + + <tr class='noResults'> + <td colspan='99'> No results found. - </td> - </tr> - </table> - </div> -</body> -<script> + </td> + </tr> + </table> + </div> +</body> +<script> enableHelpTooltips(); -</script> -</html> +</script> +</html> |