如何在c#中运行应用程序时连续检查内存

时间:2016-07-07 06:44:08

标签: c# .net winforms

我有 Windows应用程序,因为我从form1打开一个form2。同时,我想连续检查应用程序使用的内存 ... 任何人都可以帮助如何以编程方式监控应用程序内存...

另外,我的应用程序由私有DLL和私有网格组成,导致使用更多内存......我尝试了几种方法,如Dispose()和垃圾收集器,并处理用于私有网格的类。

Thannks

2 个答案:

答案 0 :(得分:0)

您可以使用Visual Studio Profiler监视应用程序并搜索内存泄漏/性能问题。它将根据您选择的采样技术为您提供广泛的报告。

请参阅MSDN Beginners Guide to Performance Profiling

答案 1 :(得分:0)

你可以测量三种类型的内存:私有内存,物理内存,虚拟内存

 long PhysicalMemory = Process.GetCurrentProcess().WorkingSet64 / 1024;
 long virtualMemory = Process.GetCurrentProcess().VirtualMemorySize64 / 1024;
 var PM = new PerformanceCounter("Process", "Working Set - Private", Process.GetCurrentProcess().ProcessName);
 long privateMemory=PM.RawValue / 1024