Search Issue Tracker

Fixed in 0.4.0-preview.1



Found in [Package]


Issue ID




PackedMemorySnapshot: "managedHeapSections" do not match stats in Profiler

Package: Memory Profiler


To reproduce:
1) Open attached project
2) Build a Standalone Windows 64bit Player
3) Start Player
4) Open and connect Profiler to Player
5) Switch to "Memory" tab in Profiler
6) Open MainMenu > BugReport > Open TestCode Window
7) Click "Capture Memory" button
8) Compare the "Mono" memory stats to the stats shown in "TestCode Window".

Observe those numbers do not match.

Reproduced in 2017.1.0f3, 2017.3.0f3, 2018.1.0b4

  1. Resolution Note (fix version 0.4.0-preview.1):

    Fixed in: 2021.2.0a12
    When crawling mono for it's allocated memory we report more than just the managed heaps in which the objects reside (which the CPU profiler does). We report memory allocated by mono in order to store things such as MonoClass data, these chunks are not differentiated from the normal heaps prior to Unity Versions 2021.2.0a12, 2021.1.9, 2020.3.12f1, 2019.4.29f1 or newer. Previously this was intended behavior, but starting from these versions, managed heap sections have the highest bit set if they aren't used for heap objects, i.e. `(snapshot.managedHeapSections.startAddress & 1ul << 63) == 0` signifies managed object heap sections.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.