c#中的进程统计

Posted

技术标签:

【中文标题】c#中的进程统计【英文标题】:Process statistics in c# 【发布时间】:2012-08-31 21:19:21 【问题描述】:

对于给定的过程,我如何学习它

cpu 使用率 (%) 内存使用情况(分配的内存) 网络使用情况(字节输入/秒,字节输出/秒)

我有兴趣从 c# 应用程序收集这些信息。

【问题讨论】:

不能用perfmon吗? 对不起,只是想帮忙。所有数据都在 WMI 数据库中。这就是您访问它的方式。对我来说,perfmon 是最好的工具,通常安装在你需要的地方(比如生产环境)。所以,如果你想要一个更好的答案,我建议你提供更多关于你想要做什么的细节。 我不能使用 perfmon,因为我需要以编程方式收集这些信息。 【参考方案1】:

This article 和 this example + 一些 c# 编码技能就是你所需要的。

哦,关于进程网络监控,Microsof has a Network Monitor API 但YAPM 是超人。

【讨论】:

【参考方案2】:

可以使用PerformanceCounter Class 跟踪所有这些信息。

您可以找到更详细的列表here,了解您可以跟踪哪些信息。

【讨论】:

【参考方案3】:

C# 中内置的类可以做到这一点。一个简单的 Google 搜索“计算内存使用 C#”的“计算 cpu 使用 C#”提出了他们

http://bhaskarrajukonduru-dotnet.blogspot.ca/2010/06/calculate-memory-and-cpu-usage-by-using.html http://***.com/questions/278071/how-to-get-the-cpu-usage-in-c (注意,你也可以搜索***) http://www.codeproject.com/Articles/10258/How-to-get-CPU-usage-of-processes-and-threads

【讨论】:

以上是关于c#中的进程统计的主要内容,如果未能解决你的问题,请参考以下文章

C# 杀掉系统中的进程

python 从linux中的/ proc中提取进程统计信息

c#中的新进程tcp转储

如何使用 C# 中的 Windows 服务跟踪给定进程是不是引发异常

如何将 ctrl+c 发送到 c# 中的进程?

C# 中的 FileStream 和 FileSystemWatcher,奇怪的问题“进程无法访问文件”