我在kubernetes中部署了我的应用程序。一些服务不断地被OOM杀死。我已经多次尝试更改GC变量,包括使用环境变量的GC堆计数和GC堆限制。我甚至升级了我的节点以具有更高的内存。但是这个问题仍然存在。有没有办法打印出所有GC的细节。我想知道。NET在我设置环境变量时是否真的拾取了它。像JAVA PrintGCDetails这样的东西会帮助我检查和调试我的问题。2在.NET中有类似的东西吗?
5lhxktic1#
Net中有一个GC Class,它允许您获取有关垃圾收集器的所需信息。要检查是否正确设置了变量,可以使用GetConfigurationVariables()方法:
GC Class
GetConfigurationVariables()
IReadOnlyDictionary<string, object> configurationVariables = GC.GetConfigurationVariables();
默认结果如下所示,包括HeapCount和Limits:
通过**link可以找到更多与GC交互的功能。如果您已正确设置了变量,但仍面临相同的问题,您可以使用Visual Studio中的诊断工具**窗口在调试模式下监视内存,例如:
您可能还对下一代tool感兴趣,它允许您在运行时获得有关应用内存的一些详细信息。
1条答案
按热度按时间5lhxktic1#
Net中有一个
GC Class
,它允许您获取有关垃圾收集器的所需信息。要检查是否正确设置了变量,可以使用
GetConfigurationVariables()
方法:默认结果如下所示,包括HeapCount和Limits:
通过**link可以找到更多与GC交互的功能。
如果您已正确设置了变量,但仍面临相同的问题,您可以使用Visual Studio中的诊断工具**窗口在调试模式下监视内存,例如:
您可能还对下一代tool感兴趣,它允许您在运行时获得有关应用内存的一些详细信息。