【问题标题】:How can I figure out how much memory a .Net Appdomain is consuming?如何确定 .Net Appdomain 消耗了多少内存?
【发布时间】:2010-09-06 18:23:05
【问题描述】:

我正在尝试以编程方式限制在 .Net AppDomain 中运行的插件的内存消耗,但我找不到任何设置参数,也找不到查询 AppDomain 以确定多少内存的方法它很消耗。有什么想法吗?

【问题讨论】:

    标签: .net clr


    【解决方案1】:

    老问题,但与此同时(从 .Net 框架 4.0 开始)有一个新的解决方案可用。您必须启用 ARM(应用程序域资源监控)。从那时起,您可以请求有关总消耗的处理器时间、内存使用情况等的信息。

    See Microsoft documentation over here

    【讨论】:

      【解决方案2】:

      不确定以编程方式,但Process Explorer 可以告诉您.net AppDomain 正在使用多少内存。也许他们有一些关于他们如何查询该信息的文档。

      【讨论】:

        【解决方案3】:

        这是查询进程内存使用情况的文档。与 AppDomain 不同,但它可能是一个起点。

        http://msdn.microsoft.com/en-us/library/s80a75e5(VS.80).aspx

        你也可以询问 GC 它认为当前分配了什么。

        http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx

        【讨论】:

          【解决方案4】:

          使用来自 C:\WINDOWS\Microsoft.NET\Framework\vXXXXXX\mscoree.tlb 的 mscoree.CorRuntimeHostClass 互操作

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-05-06
            • 1970-01-01
            • 1970-01-01
            • 2012-10-25
            • 2023-03-18
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多