Hello,
We are currently experiencing an issue where our untracked memory is unusually high, and we would like to figure out the cause.
In our project, the untracked memory is reaching about 3.6GB, but we are unable to identify exactly which part is consuming this. For context, we are using UE 5.7.4.
We recently packaged and profiled a blank project as a test, and even there, we observed around 1.6GB of untracked memory.
Since we are targeting a release on the Xbox Series S, we have a strict memory budget of under 8GB. Having 3.6GB taken up by untracked memory is a significant burden for our project.
Could you provide any insights or ways to track down what is causing this?
Thank you.
[Attachment Removed]
Hi,
The untracked memory is a bit tricky. It’s computed in
const int64 DefaultUntracked = FMath::Max<int64>(0, DefaultProcessMemory - TrackedTotal - CachedFreeMemory + ImmediatelyFreeableCachedMemory);Untracked = process memory − all LLM-tagged allocations − allocator free cache + the portion of that cache that could be released immediately.
So you can have large amount of ‘untracked’ memory. This include the memory used by the executables and libraries and if I’m not mistaken, the GPU memory too that is not trackable on PC. So the untracked value can be arbitrary large. You probably better measure the total amount of memory reported through the Unreal trace system, which should trace all allocations individually, then, in UnrealInsights, you will get a min/max amount of memory used. The individual allocation event traced don’t have time, the trace system inject periodically a timestamp, so allocation as bucketed together and so on the graph, you see the min/max for a given bucket, but this will give you a good overview of how much memory your game consume. On some platforms, XBox particularly, you get a more accurate picture because the kernel reports (through a callback) the memory allocated on the behalf of the game. You don’t have that on all platforms.
Regards,
Patrick
[Attachment Removed]