0
Files
android_webview
apps
ash
base
build
build_overrides
buildtools
cc
chrome
chromecast
chromeos
codelabs
components
content
courgette
crypto
dbus
device
docs
accessibility
autofill
design
enterprise
fuchsia
gpu
images
infra
intl
ios
linux
login
mac
media
memory
DIR_METADATA
README.md
achievements.md
android_dev_tips.md
bad_jokes.md
debugging_memory_issues.md
filing_memory_bugs.md
investigating_heap_dump_example.md
key_concepts.md
objectives.md
oom.md
tools.md
memory-infra
patterns
privacy
privacy_budget
process
security
speed
speed_metrics
standards
testing
ui
updater
webapps
workflow
DIR_METADATA
OWNERS
README.md
accessibility.md
ad_tagging.md
adding_to_third_party.md
android_accessing_cpp_enums_in_java.md
android_accessing_cpp_features_in_java.md
android_accessing_cpp_switches_in_java.md
android_build_instructions.md
android_cast_build_instructions.md
android_debugging_instructions.md
android_dynamic_feature_modules.md
android_emulator.md
android_isolated_splits.md
android_logging.md
android_native_libraries.md
android_studio.md
angle_in_chromium.md
api_keys.md
asan.md
atom.md
bitmap_pipeline.md
branch_sheriff.md
building_old_revisions.md
callback.md
ccache_mac.md
chrome_os_logging.md
chrome_settings.md
chrome_untrusted.md
chromedriver_status.md
chromeos_build_instructions.md
chromeos_glossary.md
chromium_browser_vs_google_chrome.md
cipd_and_3pp.md
cl_respect.md
clang.md
clang_code_coverage_wrapper.md
clang_format.md
clang_sheriffing.md
clang_static_analyzer.md
clang_tidy.md
clang_tool_refactoring.md
clangd.md
clion.md
closure_compilation.md
cocoa_tips_and_tricks.md
code_review_owners.md
code_reviews.md
commit_checklist.md
component_build.md
configuration.md
contributing.md
cq_quick_run.md
cr_respect.md
cr_user_manual.md
cross_platform_ui.md
cygwin_dll_remapping_failure.md
dangling_ptr.md
dbus_mojo_connection_service.md
debugging_with_crash_keys.md
deterministic_builds.md
disassemble_code.md
documentation_best_practices.md
documentation_guidelines.md
early-hints.md
eclipse.md
emacs.md
erc_irc.md
flag_expiry.md
flag_ownership.md
frame_trees.md
gdbinit.md
get_the_code.md
git_cookbook.md
git_tips.md
google_chrome_branded_builds.md
google_play_services.md
graphical_debugging_aid_chromium_views.md
gwp_asan.md
how_cc_works.md
how_to_add_your_feature_flag.md
how_to_extend_web_test_framework.md
idn.md
initialize_blink_features.md
inlined_stack_traces.md
installation_at_vmware.md
ios_build_instructions.md
ios_infra.md
ios_voiceover.md
kiosk_mode.md
lacros.md
life_of_a_frame.md
lldbinit.md
mac_arm64.md
mac_build_instructions.md
mac_lld.md
mojo_and_services.md
mojo_ipc_conversion.md
mojo_testing.md
native_relocations.md
navigation-request-navigation-state.gv
navigation-request-navigation-state.png
navigation.md
navigation_concepts.md
network_traffic_annotations.md
new_port_policy.md
no_sources_assignment_filter.md
optimizing_web_uis.md
origin_trials_integration.md
ozone_overview.md
parsing_test_results.md
pgo.md
piranha_plant.md
process_model_and_site_isolation.md
profiling.md
profiling_content_shell_on_android.md
proxy_auto_config.md
python3_migration.md
qtcreator.md
release_branch_guidance.md
render-frame-host-lifecycle-state.gv
render-frame-host-lifecycle-state.png
render_document.md
seccomp_sandbox_crash_dumping.md
servicification.md
session_history.md
sheriff.md
shutdown.md
special_case_urls.md
static_initializers.md
sublime_ide.md
system_hardening_features.md
tab_helpers.md
threading_and_tasks.md
threading_and_tasks_faq.md
threading_and_tasks_testing.md
toolchain_support.md
tour_of_luci_ui.md
tpm_quick_ref.md
translation_screenshots.md
trusted_types_on_webui.md
updating_clang.md
updating_clang_format_binaries.md
use_counter_wiki.md
useful_urls.md
user_data_dir.md
user_data_storage.md
user_handle_mapping.md
vanilla_msysgit_workflow.md
vscode.md
vscode_python.md
webui_explainer.md
webui_in_chrome.md
webui_in_components.md
webview_policies.md
win_cross.md
win_order_files.md
windows_build_instructions.md
windows_native_window_occlusion_tracking.md
windows_pwa_integration.md
windows_shortcut_and_taskbar_handling.md
windows_split_dll.md
windows_virtual_desktop_handling.md
wmax_tokens.md
working_remotely_with_android.md
writing_clang_plugins.md
extensions
fuchsia
fuchsia_web
gin
google_apis
google_update
gpu
headless
infra
ios
ipc
media
mojo
native_client_sdk
net
pdf
ppapi
printing
remoting
rlz
sandbox
services
skia
sql
storage
styleguide
testing
third_party
tools
ui
url
weblayer
.clang-format
.clang-tidy
.eslintrc.js
.git-blame-ignore-revs
.gitattributes
.gitignore
.gn
.mailmap
.rustfmt.toml
.vpython
.vpython3
.yapfignore
AUTHORS
BUILD.gn
CODE_OF_CONDUCT.md
DEPS
DIR_METADATA
ENG_REVIEW_OWNERS
LICENSE
LICENSE.chromium_os
OWNERS
PRESUBMIT.py
PRESUBMIT_test.py
PRESUBMIT_test_mocks.py
README.md
WATCHLISTS
codereview.settings
src/docs/memory

Memory

Landing page for all things memory-related in Chromium.

How is chrome's memory usage doing in the world?

Look at the UMAs Memory.{Total,Renderer,Browser,Gpu,Extension}.PrivateMemoryFootprint.

How do developers communicate?

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://chromium.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.

I have memory problem, what do I do?

Follow these instructions to file a high quality bug.

I'm a developer trying to investigate a memory issues, what do I do?

See this page for further instructions.

I'm a developer looking for more information. How do I get started?

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.

What are people actively working on?

There are roughly three types of memory work within Chrome:

  • Team based, targeted improvements. Examples include:
    • memory reductions for specific components [e.g. for v8]
    • allocator improvements [e.g. PartitionAlloc]
    • memory purging at appropriate times [e.g. on tab background]
    • better memory pressure signals
  • Memlog: Heap profiling in the wild for regression detection + root cause analysis.
  • Lab tests: Perf waterfall for micro-regressions, ASAN/MSAN/LSAN, blink leak detector.

Key knowledge areas and contacts

Knowledge Area Contact points
Chrome on Android lizeb, pasko, ssid
Browser Process ssid, erikchen, etienneb
GPU/cc ericrk
Memory metrics ssid, erikchen, primano, ajwong, wez
Heap Profiling alph, erikchen, ssid, etienneb
Net Stack mmenke, rsleevi, xunjieli
Renderer Process haraken, tasak, hajimehoshi, keishi, hiroshige
V8 hpayer, ulan, verwaest, mlippautz

Other docs