【问题标题】:Memory usage and time for execution for another process using C#?使用 C# 的另一个进程的内存使用情况和执行时间?
【发布时间】:2011-04-26 22:05:37
【问题描述】:

我需要通过另一个应用程序加载的应用程序的内存使用和处理时间。我正在使用 C#。目前我正在使用Process.WorkingSet 来获取内存使用情况 同样Process.TotalProcessTime 获得执行时间,但它没有提供任何价值。那你有什么建议吗?

【问题讨论】:

  • 工作集没有指明使用的内存量。此外,如果作为子进程或“自己的”启动,它也没有区别。就其“自己”而言,它可能是 explorer.exe 的子进程或更进一步的链。

标签: c# .net profiling memory-management


【解决方案1】:

使用 WMI 获取此类信息,System.Management 命名空间对此提供了很好的支持。从下载WMI Code Creator utility 开始,它可以让您尝试查询并自动生成您需要的 C#。

您想查询 Win32_Process,它提供了有关进程的大量信息。 PrivatePageCount 将是衡量它使用的未被任何其他进程共享的内存量的好方法。 KernelModeTime 和 UserModeTime 让您有时间花在执行代码上。

【讨论】:

  • 哇,非常感谢WMI Code Creator 的下载链接,虽然我听说过使用 WMI,但我什至不知道这个。
猜你喜欢
  • 1970-01-01
  • 2018-12-13
  • 2014-12-24
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 2010-10-19
相关资源
最近更新 更多