在.NET 7.0中有没有办法打印出所有GC的详细信息?

yzxexxkh  于 2023-03-04  发布在  .NET
关注(0)|答案(1)|浏览(118)

我在kubernetes中部署了我的应用程序。一些服务不断地被OOM杀死。我已经多次尝试更改GC变量,包括使用环境变量的GC堆计数和GC堆限制。我甚至升级了我的节点以具有更高的内存。但是这个问题仍然存在。有没有办法打印出所有GC的细节。我想知道。NET在我设置环境变量时是否真的拾取了它。像JAVA PrintGCDetails这样的东西会帮助我检查和调试我的问题。2在.NET中有类似的东西吗?

5lhxktic

5lhxktic1#

Net中有一个GC Class,它允许您获取有关垃圾收集器的所需信息。
要检查是否正确设置了变量,可以使用GetConfigurationVariables()方法:

IReadOnlyDictionary<string, object> configurationVariables = GC.GetConfigurationVariables();

默认结果如下所示,包括HeapCountLimits

通过**link可以找到更多与GC交互的功能。
如果您已正确设置了变量,但仍面临相同的问题,您可以使用Visual Studio中的
诊断工具**窗口在调试模式下监视内存,例如:

您可能还对下一代tool感兴趣,它允许您在运行时获得有关应用内存的一些详细信息。

相关问题