/ / Як отримати Середній% часу користувача в Perfmon - perfmon

Як отримати середній час користувача в Perfmon - перфект

Я також розумію, що я також можу використовувати це програмно, створюючи лічильник продуктивності за допомогою System.Diagnostics.PerformanceCounterі отримують значення лічильника за допомогою методу NextValue ().

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) + " %");
}

Я знайшов цей код в Інтернеті, а тут більшеinsterested в обчисленні середнього процесора і середньої оперативної пам'яті в кінці цього тесту і зберігати його в Var для порівняння його з іншою змінною. будь-які гарні ідеї

Дякую

Відповіді:

0 для відповіді № 1
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();
}
}
}