I have a C# app which runs with priority RealTime. It was all fine until I made few hectic changes in past 2 days. Now it runs out of memory in few hours.
I am trying to find whether it is a memory leak I created of this is because I consume lot more objects than before and GC simply cant collect them because it runs with same priority.
My question is – what could happen to GC when it tries to collect objects in application with RealTime priority (there is also at least one thread running with Highest thread priority)?
(P.S. by realtime priority I mean Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime)
Sorry forgot to tell. GC is in Server mode
The GC runs in your process and hence has the same priority. It’s ability to collect isn’t impacted by the
PriorityClasswith which your application runs.This memory leak is almost certainly caused by you holding onto the root of a growing object graph which prevents the GC from collecting it.