Hey,
After upgrading our project from 5.4.4 to 5.5.4 we are seeing the following log message during cooks.
LogAsyncCompilation BEWARE: AssetCompile memory estimate is greater than available, but we’re running it [TextureDerivedData] anyway! RequiredMemory = 0.000 MiB + 2987.666748 MiB, MemoryLimit = 1232.664062 MiB
Could you shed some light on what this means, what the impacts are and if we need to take any mitigating steps?
We’re seeing this even when running on machines with 128 GB RAM that have plent of spare memory left over during the cooking process so they don’t seem to be running out of memory physically, is there some kind of artifical limit we could tweak to change this? The cooks themselves seem to go through as normal and the packaged game works as expected.
Cheers!
Hi,
The purpose of this warning seems to leave information behind to diagnose out of memory cook failure. When the engine cooks in parallel, it can more easy to run out of memory if you are processing many large assets concurrently. The system approximate the memory usage of the ‘next’ task add it to the current memory load and check if the process might goes out of memory and then it adjust the number of concurrency tasks allowed. This system is on the conservative side and memory can fluctuate immediately after getting a value… so it is a guessing game where the engine can guess wrong time to time. This warning would not affect the cook nor the game. If you don’t have OOM cook failure, you can safely ignore this warning.
I diffed AssetCompilingManager.cpp where this warning is issues between Between 5.4 and 5.5 and the files are identical. So the warning you get is likely coming from the change made to the task system in UE 5.5. The engine runs more and more in parallel and this might be the reason you are seeing this warning now.
Regards,
Patrick
OK - thank you, we will monitor.