Insights memory

Hello,

I have done some Insights Memory capture in UE 5.5 and noticed what seemed a live memory leak, the memory wouldn’t stop growing, and Insights graph would display ~130 MiB increase in about ten minutes.

It seemed off to me, and the different Investigation tools (Growth for exemple). reported a different number (around 10 MiB)

I did recored with “-trace=default,memory,callstack,module,memalloc,memtag,metadata,assetmetadata,bookmark -statnamedevents”, and used memreport --full to diagnose the issue, and found out that it reported only about around 10 MiB too.

I fired up the game in 5.6 to see what would happen and there was no such issue.

I tried loading a Insights 1.06 (UE5.5) memory capture in Insights 1.07 (UE5.6) but it didn’t display anything. (Timing worked fine though)

I tried again with another project and got the same kind of results.

Is there something known broken in Unreal Insights 1.06 (UE5.5) memory visualization?

(Maybe it’s tracking some memory it shouldn’t, like the one used for Insights itself?)

If so, can you give me a list of changelist to fix the issue?

Steps to Reproduce
Run a UE5.5 project with Insights : “-trace=default,memory,callstack,module,memalloc,memtag,metadata,assetmetadata,bookmark -statnamedevents”, and compare the results with memreport --full at two points in time.

The graph shows something very different from what memreport does.

Hey,

it seems like you’re describing two different issues, so I’ll need some clarifications to fully understand the problem first.

> I tried loading a Insights 1.06 (UE5.5) memory capture in Insights 1.07 (UE5.6) but it didn’t display anything. (Timing worked fine though)

You’re saying that a .utrace file created in UE5.5 is missing certain UI elements in 5.6?

Which parts of the UI are missing, the Memory Insights tab, or anything specifically?

Could you provide us with an example trace that doesn’t work in 5.6 as expected?

Or is the issue that you’re not seeing a memory increase in the same trace file when opened in 5.6 as compared to opening that file in 5.7?

> Run a UE5.5 project with Insights : “-trace=default,memory,callstack,module,memalloc,memtag,metadata,assetmetadata,bookmark -statnamedevents”, and compare the results with memreport --full at two points in time.

> The graph shows something very different from what memreport does.

Memreport is just a collection of various console commands, each reporting wildly different things, so it’s expected that these two don’t match up.

Could you clarify which number/line from memreport you are referring too, and what track in the Insights UI you’re comparing it too?

The “Total Allocated Memory” track in Memory Insights is very specific, it displays the Sum of all Allocations that Insights knows about.

There are many things which can use process memory but are not allocations that Insights knows about, like allocator overhead, some untracked allocations in the graphics drivers, etc.

Taking the “FMallocBinned2 Mem report” as an example, I don’t think there’s any number that would directly correlate to the insights main memory graph, the sum of small and large page allocations is likely the closest thing here.

Kind Regards,

Sebastian

So the problem is that Unreal Insights 1.06 (from UE5.5) displayed an increase in memory usage of around 130 MiB, but it own “Investigations” panel “Growth” option only showed around 10 MiB, which was the same amount reported by the delta of two MemReports . (I ran with Insights memory, using Main memory graph values, and computed the difference between “Process Physical Memory: *** MB used” of MemReport)

(Since the memory graph of Insights from UE5.5 was wrong, I tried opening it up in UE5.6 but it didn’t work, it couldn’t display the memory track at all, I tried just in case it would fix the problem.)

Apologies for the delay, I’ve been pretty swamped this week.

Regarding opening the trace in 5.6:

I’ve created a memory trace in 5.5 and can view it successfully in 5.6, but there seem to be some quirks in how and when the memory graphs show up.

Could you test the following things for me to make sure we’re seeing the same issue?

  • After opening the trace, do the tracks show up if you wait for the analysis to finish? Depending on the size of the trace this might take a few minutes.
  • I’ve noticed the tracks are disabled by default for me, but still show up in some circumstances. Could you toggle the “Memory Tracks” checkbox in the “Other” dropdown once or twice to see if that shows the tracks?

[Image Removed]

As for the main problem with the discrepancy in the memory numbers, could you provide us the trace so we can investigate locally?

I’ve reached out to the dev team and there’s a possibility that certain mismatches in allocation tracking, e.g. when the same allocation is tracked twice or not tracked when it is released.

I can use a debugging build to get additional diagnostics and review the trace file for those issues.

Thanks!

Kind Regards,

Sebastian