Landing page for all things related to memory usage in Chromium.
The goal is to keep an ever present set of links and references that will help people what is actively happening in the memory space. Please keep this landing page short and action oriented.
That being said, please also send CL with update and changes. This should reflect current active status, and it's easier to do that if everyone helps maintain it. :)
Look at UMA for the Memory.* UMAs. Confused at which to use? Start with these:
name | description | Caveats |
---|---|---|
Memory.*.Committed | private, image, and file mapped memory | Windows only. Over penalizes Chrome for mapped images and files |
Memory.Experimental.*. PrivateMemoryFootprint |
New metric measuring private anonymous memory usage (swap or ram) by Chrome. | See Consistent Memory Metrics |
--Memory.*.Large2-- | Measures physical memory usage. | DO NOT USE THIS METRIC* |
*Do NOT use Memory.\*.Large2
as the Large2
metrics only
count the physical ram used. This means the number varies based on the behavior
of applications other than Chrome making it near meaningless. Yes, they are
currently in the default finch trials. We're going to fix that.
Note, these channels are for developer coordination and NOT user support. If you are a Chromium user experiencing a memory related problem, file a bug instead.
name | description |
---|---|
memory-dev@chromium.org | Discussion group for all things memory related. Post docs, discuss bugs, etc., here. |
chrome-memory@google.com | Google internal version of the above. Use sparingly. |
https://chromiumdev.slack.com/messages/memory/ | Slack channel for real-time discussion with memory devs. Lots of C++ sadness too. |
crbug Performance=Memory label | Bucket with auto-filed and user-filed bugs. |
crbug Stability=Memory label | Tracks mostly OOM crashes. |
Yay! Please file a memory bug.
If you are willing to do a bit more, please grab a memory infra trace and upload that. Here are instructions for MacOS. (TODO: Add instructions for easily grabbing a trace for all platforms.)
Great! First, sign up for the mailing lists above and check out the slack channel.
Second, familiarize yourself with the following:
Topic | Description |
---|---|
Key Concepts in Chrome Memory | Primer for memory terminology in Chrome. |
memory-infra | The primary tool used for inspecting allocations. |
Project | Description |
---|---|
Memory Coordinator (including Purge+Throttle/Suspend) | Centralized policy and coordination of all memory components in Chrome |
Memory-Infra | Tooling and infrastructure for Memory |
System health benchmarks | Automated tests based on telemetry |
Knowledge Area | Contact points |
---|---|
Chrome on Android | mariakhomenko, dskiba, ssid |
Browser Process | mariakhomenko, dskiba, ssid |
GPU/cc | ericrk |
Memory metrics | erikchen, primano, ajwong, wez |
Native Heap Profiling | primiano, dskiba, ajwong |
Net Stack | mmenke, rsleevi, xunjieli |
Renderer Process | haraken, tasak, hajimehoshi, keishi, hiroshige |
V8 | hpayer, ulan, verwaest, mlippautz |