gpt4 book ai didi

.net - C# 如果我以优先级 = RealTime 运行进程,GC 会发生什么?

转载 作者:行者123 更新时间:2023-12-04 05:34:53 25 4
gpt4 key购买 nike

我有一个以实时优先级运行的 C# 应用程序。一切都很好,直到我在过去 2 天内做了一些忙碌的改变。现在它会在几个小时内耗尽内存。

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

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

(P.S. 实时优先级我的意思是 Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime)

抱歉忘记告诉了。 GC 处于服务器模式

最佳答案

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

这种内存泄漏几乎肯定是由于您持有不断增长的对象图的根而导致 GC 无法收集它。

关于.net - C# 如果我以优先级 = RealTime 运行进程,GC 会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3046188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com