什么是获得进程的CPU和内存使用率的正确性能计数器?

如何使用.NET 类获取特定进程的 和 PerformanceCounter?而且之间有什么区别

Processor\% Processor TimeProcess\% Processor Time

我对这两者有些困惑。

回答:

从这篇文章:

using System.Diagnostics;

然后全局声明:

private PerformanceCounter theCPUCounter = 

new PerformanceCounter("Processor", "% Processor Time", "_Total");

然后,要获取CPU时间,只需调用NextValue()方法:

this.theCPUCounter.NextValue();

这将使您获得CPU使用率

至于内存使用,我相信同样的事情:

private PerformanceCounter theMemCounter = 

new PerformanceCounter("Memory", "Available MBytes");

然后,要获取内存使用情况,只需调用NextValue()方法:

this.theMemCounter.NextValue();

private PerformanceCounter theCPUCounter = 

new PerformanceCounter("Process", "% Processor Time",

Process.GetCurrentProcess().ProcessName);

Process.GetCurrentProcess().ProcessName您希望获取有关信息的进程名称在哪里?

private PerformanceCounter theMemCounter = 

new PerformanceCounter("Process", "Working Set",

Process.GetCurrentProcess().ProcessName);

Process.GetCurrentProcess().ProcessName您希望获取有关信息的进程名称在哪里?

请注意,

-请参阅什么是专用字节,虚拟字节,工作集?

之间的差异Processor\% Processor Time,并Process\% Processor

TimeProcessor从PC本身Process是每个个体的过程。因此,处理器的处理器时间将是PC上的使用时间。进程的处理器时间将是指定的进程使用率。有关类别名称的完整说明:性能监视器计数器

使用System.Diagnostics.Process.TotalProcessorTime和System.Diagnostics.ProcessThread.TotalProcessorTime属性来计算您的处理器使用率,如本文所述。

以上是 什么是获得进程的CPU和内存使用率的正确性能计数器? 的全部内容, 来源链接: utcz.com/qa/427151.html

回到顶部