C#如果我使用priority = RealTime运行进程,GC会发生什么?

Bop*_*Bop 8 .net multithreading garbage-collection

我有一个以优先级RealTime运行的C#应用​​程序.在我过去2天做了一些忙乱的变化之前,一切都很好.现在它在几个小时内耗尽内存.

我试图找出是否是我创建的内存泄漏是因为我消耗了比以前更多的对象,GC根本无法收集它们,因为它以相同的优先级运行.

我的问题是 - 当GC尝试在具有RealTime优先级的应用程序中收集对象时,会发生什么情况(还有至少一个线程以最高线程优先级运行)?

(PS by realtime priority我的意思是Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime)

对不起忘了告诉.GC处于服务器模式

Jar*_*Par 12

GC在您的过程中运行,因此具有相同的优先级.它的收集能力不受PriorityClass运行应用程序的影响.

这种内存泄漏几乎肯定是由于你抓住一个不断增长的对象图的根来阻止GC收集它.