New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 707021 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug
Hotlist-MemoryInfra

Blocked on:
issue 604726
issue 713768



Sign in to add a comment

Implement fast and slow computations for Private Memory Footprint on macOS.

Project Member Reported by erikc...@chromium.org, Mar 30 2017

Issue description

Fast computation uses private resident + compressed/swapped.
Slow computation walks all memory regions to collect detailed stats.
 
 
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
Blockedon: 713768 604726
Cc: hjd@chromium.org ssid@chromium.org fmea...@chromium.org
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.
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 26 2017

Is this task related to  crbug.com/742042 ?
Yes. We actually need to subtract out resident, shared memory on each process.

Sign in to add a comment