| OLD | NEW |
| 1 # MemoryInfra | 1 # MemoryInfra |
| 2 | 2 |
| 3 MemoryInfra is a timeline-based profiling system integrated in chrome://tracing. | 3 MemoryInfra is a timeline-based profiling system integrated in chrome://tracing. |
| 4 It aims at creating Chrome-scale memory measurement tooling so that on any | 4 It aims at creating Chrome-scale memory measurement tooling so that on any |
| 5 Chrome in the world --- desktop, mobile, Chrome OS or any other --- with the | 5 Chrome in the world --- desktop, mobile, Chrome OS or any other --- with the |
| 6 click of a button you can understand where memory is being used in your system. | 6 click of a button you can understand where memory is being used in your system. |
| 7 | 7 |
| 8 [TOC] | 8 [TOC] |
| 9 | 9 |
| 10 ## Getting Started | 10 ## Getting Started |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 [m-blue]: https://storage.googleapis.com/chromium-docs.appspot.com/b6
0f342e38ff3a3767bbe4c8640d96a2d8bc864b | 51 [m-blue]: https://storage.googleapis.com/chromium-docs.appspot.com/b6
0f342e38ff3a3767bbe4c8640d96a2d8bc864b |
| 52 [partalloc-details]: https://storage.googleapis.com/chromium-docs.appspot.com/02
eade61d57c83f8ef8227965513456555fc3324 | 52 [partalloc-details]: https://storage.googleapis.com/chromium-docs.appspot.com/02
eade61d57c83f8ef8227965513456555fc3324 |
| 53 [m-purple]: https://storage.googleapis.com/chromium-docs.appspot.com/d7
bdf4d16204c293688be2e5a0bcb2bf463dbbc3 | 53 [m-purple]: https://storage.googleapis.com/chromium-docs.appspot.com/d7
bdf4d16204c293688be2e5a0bcb2bf463dbbc3 |
| 54 [mi-ui-doc]: https://docs.google.com/document/d/1b5BSBEd1oB-3zj_CBAQWiQZ
0cmI0HmjmXG-5iNveLqw/edit | 54 [mi-ui-doc]: https://docs.google.com/document/d/1b5BSBEd1oB-3zj_CBAQWiQZ
0cmI0HmjmXG-5iNveLqw/edit |
| 55 | 55 |
| 56 ## Columns | 56 ## Columns |
| 57 | 57 |
| 58 **Columns in blue** reflect the amount of actual physical memory used by the | 58 **Columns in blue** reflect the amount of actual physical memory used by the |
| 59 process. This is what exerts memory pressure on the system. | 59 process. This is what exerts memory pressure on the system. |
| 60 | 60 |
| 61 * **Total Resident**: (TODO: document this). | 61 * **Total Resident**: The current working set size of the process, excluding |
| 62 * **Peak Total Resident**: (TODO: document this). | 62 the memory overhead of tracing. On Linux, this returns the resident set size. |
| 63 * **PSS**: (TODO: document this). | 63 * **Peak Total Resident**: The overall peak working set size of the process on |
| 64 * **Private Dirty**: (TODO: document this). | 64 supported platforms. On Linux kernel versions >= 4.0 the peak usage between |
| 65 * **Swapped**: (TODO: document this). | 65 two memory dumps is shown. |
| 66 * **PSS**: POSIX only. The process's proportional share of total resident size. |
| 67 * **Private Dirty**: The total size of dirty pages which are not used by any |
| 68 other process. |
| 69 * **Swapped**: The total size of anonymous memory used by process, which is |
| 70 swapped out of RAM. |
| 66 | 71 |
| 67 **Columns in black** reflect a best estimation of the the amount of physical | 72 **Columns in black** reflect a best estimation of the the amount of physical |
| 68 memory used by various subsystems of Chrome. | 73 memory used by various subsystems of Chrome. |
| 69 | 74 |
| 70 * **Blink GC**: Memory used by [Oilpan][oilpan]. | 75 * **Blink GC**: Memory used by [Oilpan][oilpan]. |
| 71 * **CC**: Memory used by the compositor. | 76 * **CC**: Memory used by the compositor. |
| 72 See [cc/memory][cc-memory] for the full details. | 77 See [cc/memory][cc-memory] for the full details. |
| 73 * **Discardable**: (TODO: document this). | 78 * **Discardable**: Total [discardable][discardable] memory used by the process |
| 74 * **Font Caches**: (TODO: document this). | 79 from various components like Skia caches and Web caches. |
| 80 * **Font Caches**: Size of cache that stores Font shapes and platform Fonts. |
| 75 * **GPU** and **GPU Memory Buffer**: GPU memory and RAM used for GPU purposes. | 81 * **GPU** and **GPU Memory Buffer**: GPU memory and RAM used for GPU purposes. |
| 76 See [GPU Memory Tracing][gpu-memory]. | 82 See [GPU Memory Tracing][gpu-memory]. |
| 77 * **LevelDB**: (TODO: document this). | 83 * **LevelDB**: Memory used for LeveldbValueStore(s), IndexedDB databases and |
| 84 ProtoDatabase(s). |
| 78 * **Malloc**: Memory allocated by calls to `malloc`, or `new` for most | 85 * **Malloc**: Memory allocated by calls to `malloc`, or `new` for most |
| 79 non-Blink objects. | 86 non-Blink objects. |
| 80 * **PartitionAlloc**: Memory allocated via [PartitionAlloc][partalloc]. | 87 * **PartitionAlloc**: Memory allocated via [PartitionAlloc][partalloc]. |
| 81 Blink objects that are not managed by Oilpan are allocated with | 88 Blink objects that are not managed by Oilpan are allocated with |
| 82 PartitionAlloc. | 89 PartitionAlloc. |
| 83 * **Skia**: (TODO: document this). | 90 * **Skia**: Memory used by all resources used by the Skia rendering system. |
| 84 * **SQLite**: (TODO: document this). | 91 * **SQLite**: Memory used for all sqlite databases. |
| 85 * **V8**: (TODO: document this). | 92 * **Sync**: Memory used by Chrome Sync when signed in. |
| 86 * **Web Cache**: (TODO: document this). | 93 * **UI**: Android only. Memory used by Android java bitmaps for the UI. |
| 94 * **V8**: Memory used by V8 Javascript engine. |
| 95 * **Web Cache**: Memory used by resources downloaded from the Web, like images |
| 96 and scipts. |
| 87 | 97 |
| 88 The **tracing column in gray** reports memory that is used to collect all of the | 98 The **tracing column in gray** reports memory that is used to collect all of the |
| 89 above information. This memory would not be used if tracing were not enabled, | 99 above information. This memory would not be used if tracing were not enabled, |
| 90 and it is discounted from malloc and the blue columns. | 100 and it is discounted from malloc and the blue columns. |
| 91 | 101 |
| 92 <!-- TODO(primiano): Improve this. https://crbug.com/??? --> | 102 <!-- TODO(primiano): Improve this. https://crbug.com/??? --> |
| 93 | 103 |
| 94 [oilpan]: /third_party/WebKit/Source/platform/heap/BlinkGCDesign.md | 104 [oilpan]: /third_party/WebKit/Source/platform/heap/BlinkGCDesign.md |
| 105 [discardable]:base/memory/discardable_memory.h |
| 95 [cc-memory]: probe-cc.md | 106 [cc-memory]: probe-cc.md |
| 96 [gpu-memory]: probe-gpu.md | 107 [gpu-memory]: probe-gpu.md |
| 97 [partalloc]: /third_party/WebKit/Source/wtf/allocator/PartitionAlloc.md | 108 [partalloc]: /third_party/WebKit/Source/wtf/allocator/PartitionAlloc.md |
| 98 | 109 |
| 99 ## Related Pages | 110 ## Related Pages |
| 100 | 111 |
| 101 * [Adding MemoryInfra Tracing to a Component](adding_memory_infra_tracing.md) | 112 * [Adding MemoryInfra Tracing to a Component](adding_memory_infra_tracing.md) |
| 102 * [GPU Memory Tracing](probe-gpu.md) | 113 * [GPU Memory Tracing](probe-gpu.md) |
| 103 * [Heap Profiler Internals](heap_profiler_internals.md) | 114 * [Heap Profiler Internals](heap_profiler_internals.md) |
| 104 * [Heap Profiling with MemoryInfra](heap_profiler.md) | 115 * [Heap Profiling with MemoryInfra](heap_profiler.md) |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 | 173 |
| 163 Chrome-side design docs: | 174 Chrome-side design docs: |
| 164 | 175 |
| 165 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfndSa2dleUQtMnZDeWpPZk1JV0QtbVM5STkwWms4YThzQ0p
GTmU1QU9kNVk"> | 176 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfndSa2dleUQtMnZDeWpPZk1JV0QtbVM5STkwWms4YThzQ0p
GTmU1QU9kNVk"> |
| 166 </iframe> | 177 </iframe> |
| 167 | 178 |
| 168 Catapult-side design docs: | 179 Catapult-side design docs: |
| 169 | 180 |
| 170 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfm10bXd5YmRNWUpKOElOWS0xdU1tMmV1S3F4aHo0ZDJLTmt
GRy1qVnQtVWM"> | 181 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfm10bXd5YmRNWUpKOElOWS0xdU1tMmV1S3F4aHo0ZDJLTmt
GRy1qVnQtVWM"> |
| 171 </iframe> | 182 </iframe> |
| OLD | NEW |