blob: 4b2f6d57802d7ee90b1107012071597ddfae8899 [file] [log] [blame] [view]
Albert J. Wong2108fde2017-06-08 17:55:501# Memory
2
Erik Chen34c0366e2017-11-29 15:47:523Landing page for all things memory-related in Chromium.
Albert J. Wong2108fde2017-06-08 17:55:504
Albert J. Wong2108fde2017-06-08 17:55:505## How is chrome's memory usage doing in the world?
6
Erik Chen34c0366e2017-11-29 15:47:527Look at the UMAs **Memory.{Total,Renderer,Browser,Gpu,Extension}.PrivateMemoryFootprint**.
Albert J. Wong2108fde2017-06-08 17:55:508
Albert J. Wong2108fde2017-06-08 17:55:509## How do developers communicate?
10
11Note, these channels are for developer coordination and NOT user support. If
12you are a Chromium user experiencing a memory related problem, file a bug
13instead.
14
15| name | description |
16|------|-------------|
17| [memory-dev@chromium.org]() | Discussion group for all things memory related. Post docs, discuss bugs, etc., here. |
18| chrome-memory@google.com | Google internal version of the above. Use sparingly. |
Erik Chena02227382019-08-21 01:46:3519| https://chromium.slack.com/messages/memory/ | Slack channel for real-time discussion with memory devs. Lots of C++ sadness too. |
Albert J. Wong2108fde2017-06-08 17:55:5020| crbug [Performance=Memory](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=Performance%3DMemory) label | Bucket with auto-filed and user-filed bugs. |
21| crbug [Stability=Memory](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=Stability%3DMemory) label | Tracks mostly OOM crashes. |
22
Erik Chen8f908e22018-02-26 16:06:5823## I have memory problem, what do I do?
24
25Follow [these instructions](/docs/memory/filing_memory_bugs.md) to file a high
26quality bug.
27
Erik Chene0525352018-03-02 16:23:2028## I'm a developer trying to investigate a memory issues, what do I do?
Albert J. Wong2108fde2017-06-08 17:55:5029
Erik Chene0525352018-03-02 16:23:2030See [this page](/docs/memory/debugging_memory_issues.md) for further instructions.
Albert J. Wong2108fde2017-06-08 17:55:5031
Erik Chene0525352018-03-02 16:23:2032## I'm a developer looking for more information. How do I get started?
Albert J. Wong2108fde2017-06-08 17:55:5033
34Great! First, sign up for the mailing lists above and check out the slack channel.
35
36Second, familiarize yourself with the following:
37
38| Topic | Description |
39|-------|-------------|
Primiano Tuccifb7942c2017-06-26 16:06:1940| [Key Concepts in Chrome Memory](/docs/memory/key_concepts.md) | Primer for memory terminology in Chrome. |
41| [memory-infra](/docs/memory-infra/README.md) | The primary tool used for inspecting allocations. |
Albert J. Wong2108fde2017-06-08 17:55:5042
Albert J. Wong2108fde2017-06-08 17:55:5043## What are people actively working on?
Erik Chena02227382019-08-21 01:46:3544
45There are roughly three types of memory work within Chrome:
46
47* Team based, targeted improvements. Examples include:
Thiabaud Engelbrecht6d443612022-02-11 00:22:1848 * memory reductions for specific components [e.g. for v8]
49 * allocator improvements [e.g. PartitionAlloc]
Erik Chena02227382019-08-21 01:46:3550 * memory purging at appropriate times [e.g. on tab background]
51 * better memory pressure signals
52* Memlog: Heap profiling in the wild for regression detection + root cause
53 analysis.
54* Lab tests: Perf waterfall for micro-regressions, ASAN/MSAN/LSAN, blink leak
55 detector.
Albert J. Wong2108fde2017-06-08 17:55:5056
57
58## Key knowledge areas and contacts
59| Knowledge Area | Contact points |
60|----------------|----------------|
Egor Paskoe3f68e3b2018-06-20 11:00:0661| Chrome on Android | lizeb, pasko, ssid |
62| Browser Process | ssid, erikchen, etienneb |
Albert J. Wong2108fde2017-06-08 17:55:5063| GPU/cc | ericrk |
Egor Paskoe3f68e3b2018-06-20 11:00:0664| Memory metrics | ssid, erikchen, primano, ajwong, wez |
Erik Chena02227382019-08-21 01:46:3565| Heap Profiling | alph, erikchen, ssid, etienneb |
Albert J. Wong2108fde2017-06-08 17:55:5066| Net Stack | mmenke, rsleevi, xunjieli |
67| Renderer Process | haraken, tasak, hajimehoshi, keishi, hiroshige |
68| V8 | hpayer, ulan, verwaest, mlippautz |
69
70
71## Other docs
Albert J. Wong593bb8622017-06-19 23:00:2072 * [Why we work on memory](https://docs.google.com/document/d/1jhERqimO-LtuplzQzbBv1vK7SVOh63AMf2irJI2LOqU/edit)
73 * [TOK/LON memory-dev@ meeting notes](https://docs.google.com/document/d/1tCTw9lnjs85t8GFiiyae2hbu6lrz8kysFCgMCKUvcXo/edit)
74 * [Memory convergence 3 (in Mountain View, 2017 May)](https://docs.google.com/document/d/1FBIqBGIa0DSaFsh-QjmVvoC82pGuOgiQDIhc8-vzXbQ/edit)
75 * [TRIM convergence 2 (in Mountain View, 2016 Nov)](https://docs.google.com/document/d/17Kef7UxjR6VW_ehVbsc-DI0IU7TQk-2C56JSbzbPuhA/edit)
76 * [TRIM convergence 1 (in Munich, 2016 Apr)](https://docs.google.com/document/d/1PGcM6iVBp0OYh3m8xGQhOgkQK0obQy8YWwoefP9NZCA/edit#)
Albert J. Wong2108fde2017-06-08 17:55:5077