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 |