Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式度量azure web/worker角色的内存使用情况?_C#_Asp.net_Azure_Memory Management - Fatal编程技术网

C# 如何以编程方式度量azure web/worker角色的内存使用情况?

C# 如何以编程方式度量azure web/worker角色的内存使用情况?,c#,asp.net,azure,memory-management,C#,Asp.net,Azure,Memory Management,我想记录承载在windows azure实例中的某些web/worker角色的内存使用情况 是否有一种方法可以通过编程检查当前使用的内存,以便将此值保存到某个地方供以后使用 我找到的唯一信息是获取当前线程,然后调用一个方法,该方法应返回堆的内存使用情况。但我认为这对解决我的问题没有多大帮助,尤其是当存在一些异步调用时。Azure诊断是一个很好的起点。您可以添加任何您喜欢的性能计数器:内存消耗、CPU使用等 右键单击Azure项目中的角色并转到属性。 在配置下,您将看到诊断 勾选启用诊断并选择自定

我想记录承载在windows azure实例中的某些web/worker角色的内存使用情况

是否有一种方法可以通过编程检查当前使用的内存,以便将此值保存到某个地方供以后使用


我找到的唯一信息是获取当前线程,然后调用一个方法,该方法应返回堆的内存使用情况。但我认为这对解决我的问题没有多大帮助,尤其是当存在一些异步调用时。

Azure诊断是一个很好的起点。您可以添加任何您喜欢的性能计数器:内存消耗、CPU使用等

右键单击Azure项目中的角色并转到属性。 在配置下,您将看到诊断 勾选启用诊断并选择自定义计划->编辑 在Performance Counters(性能计数器)下,选择您想要了解的内容。请注意,如果您的计算机上有不同的语言,则必须是计数器的英文名称 这些计数器将以表名WADPerformanceCounters保存在表存储器中


这篇文章也可能会有所帮助:

我正在使用c,这似乎对我有用。简化: MS参考链接:


在我看来,这是一种很好的方法,因为它不需要操作代码。我仔细看了一下,似乎有人认为它有点慢。但一个不太完美的解决方案仍然比没有其他解决方案要好。谢谢你的信息!
        try
        {
            long bytes = GC.GetTotalMemory(false);

            return "RAM used: " + (bytes/1024/1024).ToString() + " MB";
        }
        catch (Exception ex)
        {
          return "No RAM info available!";
        }