Memory-mapped files in Allocations instrument

Dear Experts,

Where do memory-mapped files appear in the Allocations instrument, if at all?

In the screenshot below, the green "all anonymous VM" graph is almost completely explained by the purple "IO Accelerator" graph (GPU buffers, textures etc) - but there are periods at the start of each cycle (such as at the cursor position) where there is some other contribution. I have not been able to find this in the other more-specific graphs.

Any ideas anyone? I have been trying to make this app better behaved memory-wise and have made a lot of progress, in particular by removing periods when two large memory allocations co-exist, and by breaking work up into chunks. It now bothers me that there is 150 MB of "anonymous VM" that I cannot explain!

Replies

Hello there,

Selected Allocation type filter All Heap & Anonymous VM doesn’t show mapped files, dylibs, and some large reserved VM areas that typically may be resident but not dirty. Select All VM Regions to show all VM regions, including mapped files, dylibs, and the VM regions which contain the malloc heap. VM: Mapped File should appear in the list. Click arrow near the category to open a list of all associated regions and see mapped file paths.

Other way to see mapped files is using VM Tracker instrument. Click plus button on the top right to add VM Tracker before recording. Select VM Tracker in the middle and choose Automatic snapshotting in Snapshots menu below. After recording Instrument will show all VM regions including mapped files.

--

Anton