Memory DotNET应用程序的内存使用

Memory DotNET应用程序的内存使用,memory,unmanaged,managed,Memory,Unmanaged,Managed,我的应用程序(dotnet)作为一个插件运行在一个C++独立应用程序中,它公开了一个C++ /CLI SDK。 我的用户很容易生成大量数据,如果插件+基础应用程序的内存消耗达到法定最大值的90%,我想提供一个中止选项 如何测量总内存消耗(理想情况下是托管代码和非托管代码)我如何知道windows允许当前应用程序使用多少内存?我建议使用分析工具:效果非常好。我建议使用分析工具:效果非常好。Process类提供了大部分信息。我想你想要的是什么 您应该能够做到: var memoryUsage = P

我的应用程序(dotnet)作为一个插件运行在一个C++独立应用程序中,它公开了一个C++ /CLI SDK。 我的用户很容易生成大量数据,如果插件+基础应用程序的内存消耗达到法定最大值的90%,我想提供一个中止选项


如何测量总内存消耗(理想情况下是托管代码和非托管代码)我如何知道windows允许当前应用程序使用多少内存?

我建议使用分析工具:效果非常好。

我建议使用分析工具:效果非常好。

Process类提供了大部分信息。我想你想要的是什么

您应该能够做到:

var memoryUsage = Process.GetCurrentProcess().PrivateMemorySize64;

Process类提供了大部分此类信息。我想你想要的是什么

您应该能够做到:

var memoryUsage = Process.GetCurrentProcess().PrivateMemorySize64;
并检查中的
privateausage

更新

显然,我误解了这个问题,尽管您希望从应用程序的CLI SDK端获得值。在托管端,您已经得到了正确的答案。

并检查中的
私有用法

更新


显然,我误解了这个问题,尽管您希望从应用程序的CLI SDK端获得值。在托管端,您已经得到了正确的答案。

我需要的是让我的应用程序知道它在运行时使用了多少内存。我不是在找剖析应用程序。本质上,我想要的是进程使用的私有字节数,在process Explorer/Task Manager中可见。我需要的是让我的应用程序知道它在运行时使用了多少内存。我不是在找剖析应用程序。本质上,我想要的是进程使用的私有字节数,在process Explorer/Task Manager中可见。是的!就这样!我已经担心我必须通过PInvoke才能做到这一点。Process类有很多这样的好指标——看看文档,你会看到很多。是的!就这样!我已经担心我必须通过PInvoke才能做到这一点。Process类有很多这样的好指标-看看文档,你会看到很多。无论如何,谢谢。非常感谢,谢谢。非常感谢。