Memreport vs LLM

I need to track the memory that my game is using. I can do that using LLM or memreport. The problem is, both show very different numbers. I understand LLM, but what are the stats shown by memreport just before ‘obj list -alphasort’.

I dug into the code and I know these are calculated by packets sent every frame and something, but what do these numbers mean? Why do they not match with LLM?

i wanna know how to get llm result? and do you know how to use memoryprofiler2?i am sorry i cant help you

Memreport is useful for identifying UObject leaks, and some resource leaks (e.g. textures, sounds).

LLM gives more of a full picture, and is useful for figuring out which engine subsystem is primarily to blame for leak or bloat. LLM can catch things that Memreport can’t, but it doesn’t give as much detail as Memreport for the particular subsystems that Memreport specializes in. It could feasibly replace Memreport with its -llmtagsets=Assets and -llmtagsets=AssetClasses arguments, however those are documented as experimental at the time of writing.

There’s also a difference in how they’re used. Memreport produces text files that you can diff with a diff viewer to get a quick idea of what changed before/after some memory increase. LLM produces CSV files that can depict change-over-time if you make a graph out of them in Excel/Calc/etc.

One of the main reasons that your numbers look different is because each tool is “slicing the pie” in different ways. Another reason is that LLM reports in MB while Memreport reports mostly in bytes and KB.

@DarkNemesis Did you happen to figure it out? If you sum up the above numbers that doesn’t match with

Process Physical memory

how to account these numbers. what should they match to?