Issue metadata
Sign in to add a comment
|
Implement fast and slow computations for Private Memory Footprint on macOS. |
||||||||||||||||||||||
Issue descriptionFast computation uses private resident + compressed/swapped. Slow computation walks all memory regions to collect detailed stats.
,
Apr 5 2017
Hm. Some rough prototyping and xnu spelunking seems to imply that task_info[TASK_VM_INFO].compressed + task_info[TASK_VM_INFO].internal should give the same results as VmSwap + RssAnon on Linux. I'm also observing that this the computed number appears to match [within 1%] [resident + swapped ] Anonymous memory + dirtied COW memory. Confirmed that this does not count reusable memory, which is separated out into task_info[TASK_VM_INFO].reusable
,
Apr 20 2017
Long analysis: https://docs.google.com/document/d/1vltgFPqylHqpxkyyCM9taVPWNOTJkzu_GjuqdEwYofM/edit#heading=h.pxyyb8lojcy summary: Use task_info(TASK_VM_INFO).phys_footprint, subtract out IOSurfaces and SharedMemory regions. More details: We also need to hook this into the new memory-uma infrastructure. e.g. Which component performs the post-processing? [subtracting out data from other MDPs]. Do we need to make a new MDP to provide phys_footprint? We probably want to throw together a quick outline of how this will work.
,
Apr 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c874a28819750c3da98cbc8abc8ace690bfa9e1e commit c874a28819750c3da98cbc8abc8ace690bfa9e1e Author: erikchen <erikchen@chromium.org> Date: Wed Apr 26 00:21:53 2017 Add a field platform_private_footprint_ to ProcessMemoryTotals. The field holds platform-specific data that will be used by the Memory-Infra service to compute the private memory footprint. This CL populates the field on macOS, and leaves TODOs to populate the field for other OSes. BUG=707021 Review-Url: https://codereview.chromium.org/2838803003 Cr-Commit-Position: refs/heads/master@{#467177} [modify] https://crrev.com/c874a28819750c3da98cbc8abc8ace690bfa9e1e/base/process/process_metrics.h [modify] https://crrev.com/c874a28819750c3da98cbc8abc8ace690bfa9e1e/base/process/process_metrics_mac.cc [modify] https://crrev.com/c874a28819750c3da98cbc8abc8ace690bfa9e1e/base/trace_event/process_memory_totals.cc [modify] https://crrev.com/c874a28819750c3da98cbc8abc8ace690bfa9e1e/base/trace_event/process_memory_totals.h [modify] https://crrev.com/c874a28819750c3da98cbc8abc8ace690bfa9e1e/chrome/browser/memory_details_mac.cc [modify] https://crrev.com/c874a28819750c3da98cbc8abc8ace690bfa9e1e/components/tracing/common/process_metrics_memory_dump_provider.cc
,
Jul 20 2017
Is this task related to crbug.com/742042 ?
,
Jul 20 2017
Yes. We actually need to subtract out resident, shared memory on each process. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by erikc...@chromium.org
, Mar 30 2017