【问题标题】:C# Application, Monitor Memory ConsumptionC# 应用程序,监控内存消耗
【发布时间】:2013-07-17 20:24:21
【问题描述】:

有没有一种方法可以在我的 C# 应用程序中监控内存消耗?我想根据程序使用的内存量动态更改变量。

我有一些代码完成对数据库的查询,并在我将其写入文件之前临时保存这些数据。我也有代码允许用户手动更改数据从内存转储并写入文件的时间点,但我希望程序自动处理。

例如;如果我的进程达到 700,000K 内存使用量(就像从 Task Manager 看到的那样,则递减一个整数并继续处理。

谢谢, 埃里克

【问题讨论】:

  • @SriramSakthivel 是的,我确实做到了,事实上相当多。我只找到了监控处理器使用情况的方法!不过感谢您的帮助! :)
  • 希望它对你有所帮助,但试着用谷歌搜索,它会找到你想要的 99.9%。我用谷歌搜索,第一页得到了结果。

标签: c# winforms memory memory-management


【解决方案1】:

您可以通过这种方式获取当前的内存使用情况:

var proc = System.Diagnostics.Process.GetCurrentProcess();
var mbUsed = (proc.PrivateMemorySize64/1024)/1024;

PrivateMemorySize64 是一个 long 表示使用的内存量(以字节为单位)。

【讨论】:

  • 完美,这正是我想要的!一个简单明了的解决方案。谢谢!
【解决方案2】:

你可以搜索一下 PerformanceCounter 类。

【讨论】:

    【解决方案3】:

    为什么不使用性能计数器并监控所有堆上的虚拟字节或字节,或者使用 Process 类和 VirtualMemorySize64

    【讨论】:

      猜你喜欢
      • 2012-10-25
      • 2021-12-25
      • 2020-04-21
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多