如何在Perfmon中获得平均%的用户时间

如何在Perfmon中获得平均%的用户时间,perfmon,Perfmon,我还了解到,我也可以通过使用System.Diagnostics.PerformanceCounter创建性能计数器,并使用NextValue()方法获取计数器值,以编程方式使用该计数器 我在网上找到了这段代码,在这里,我更擅长在测试结束时计算平均CPU和平均RAM,并将其存储在Var中,以与另一个变量进行比较。有什么好主意吗 感谢使用系统; 使用系统诊断; 使用系统线程; 命名空间控制台应用程序4 { 班级计划 { 静态void Main(字符串[]参数) { 双全随机存储器=0.0d; 双c

我还了解到,我也可以通过使用
System.Diagnostics.PerformanceCounter
创建性能计数器,并使用NextValue()方法获取计数器值,以编程方式使用该计数器

我在网上找到了这段代码,在这里,我更擅长在测试结束时计算平均CPU和平均RAM,并将其存储在Var中,以与另一个变量进行比较。有什么好主意吗

感谢
使用系统;
使用系统诊断;
使用系统线程;
命名空间控制台应用程序4
{
班级计划
{
静态void Main(字符串[]参数)
{
双全随机存储器=0.0d;
双cpu=0.0d;
进程p=Process.GetProcessById(1188);
var ramCounter=新性能计数器(“进程”,“工作集-专用”,p.ProcessName);
var cpuCounter=新的性能计数器(“进程”,“用户时间”,p.ProcessName);
int n=0;
而(n<20)
{
睡眠(1000);
双ram=ramCounter.NextValue();
cpu+=cpuCounter.NextValue();
totalRam+=(ram/1024/1024);
n++;
}
双平均图=总RAM/n;
双avgCpu=cpu/n;
WriteLine(“平均Ram为{0}”,avgRam);
WriteLine(“平均Cpu为{0}”,avgCpu);
Console.ReadLine();
}
}
}
Process p = Process.GetProcessById(10204);
            PerformanceCounter ramCounter = new PerformanceCounter("Process", "Working Set - Private", p.ProcessName);
            PerformanceCounter cpuCounter = new PerformanceCounter("Process", "% User Time", p.ProcessName);
                while (true)
                {
                    Thread.Sleep(1000);
                    double ram = ramCounter.NextValue();
                    double cpu = cpuCounter.NextValue();
                    Console.WriteLine("RAM: " + (ram / 1024 / 1024) + "MB");
                    Console.WriteLine("CPU: " + (cpu) + " %");
                }
using System;
using System.Diagnostics;
using System.Threading;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            double totalRam = 0.0d;
            double cpu = 0.0d;

            Process p = Process.GetProcessById(1188);
            var ramCounter = new PerformanceCounter("Process", "Working Set - Private", p.ProcessName);
            var cpuCounter = new PerformanceCounter("Process", "% User Time", p.ProcessName);
            int n = 0;
            while (n < 20)
            {
                Thread.Sleep(1000);
                double ram = ramCounter.NextValue();
                cpu += cpuCounter.NextValue();
                totalRam += (ram / 1024 / 1024);
                n++;
            }

            double avgRam = totalRam/n;
            double avgCpu = cpu/n;
            Console.WriteLine("Average Ram is {0} ", avgRam);
            Console.WriteLine("Average Cpu is {0} ", avgCpu);
            Console.ReadLine();
        }
    }
}