ios – Xcode Debugger and Memory Graph’s memory metric is different from the VM Tracker


There seems to be a difference between the dirty size captured by VM Tracker and the dirty size captured by Xcode Debugger mode or Memory Graph.

I found out that resident memory size in VM Tracker is near 250MiB and the used memory metric in Xcode Debugger is around 730MB.

So I captured Memory graph and compared metrics between VM Tracker and Memory Graph.

First thing I found is that Xcode Debugger’s Memory usage metric is actually memory footprint(Dirty + uncompressed size of Dirty Compressed).
Memory Graph and Xcode Debugger compare(https://i.stack.imgur.com/b1xce.jpg)

And then I found out that Dirty size or Resident size is very different between VM Tracker and Memory Graph.
Memory Graph dirty size is different from VM Tracker

For example, the dirty size of MALLOC_LARGE was 125M in the Memory Graph, but it was around 39MiB in VM Tracker.

I’m curious why the results of the two profilers are different and which tool’s results I should trust more.

Latest articles

spot_imgspot_img

Related articles

Leave a reply

Please enter your comment!
Please enter your name here

spot_imgspot_img