Add usage more than 80
This commit is contained in:
@@ -66,12 +66,47 @@ namespace ResourceMonitorService
|
||||
};
|
||||
}
|
||||
|
||||
private float GetCpuUsage()
|
||||
private object GetCpuUsage()
|
||||
{
|
||||
var cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
|
||||
cpuCounter.NextValue();
|
||||
Thread.Sleep(1000); // Wait a second to get a valid reading
|
||||
return cpuCounter.NextValue();
|
||||
|
||||
var usage = cpuCounter.NextValue();
|
||||
if (usage > 80)
|
||||
{
|
||||
// Get the current processes and sort them by CPU usage in descending order
|
||||
var processes = Process.GetProcesses().OrderByDescending(p => p.TotalProcessorTime);
|
||||
|
||||
// Create a new anonymous type containing the CPU usage, RAM usage, and the top 3 highest CPU-using processes
|
||||
return new
|
||||
{
|
||||
Usage = usage,
|
||||
Process1 = new
|
||||
{
|
||||
Name = processes.ElementAt(0).ProcessName,
|
||||
TotalProcessorTime = processes.ElementAt(0).TotalProcessorTime,
|
||||
WorkingSet64 = processes.ElementAt(0).WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
},
|
||||
Process2 = new
|
||||
{
|
||||
Name = processes.ElementAt(1).ProcessName,
|
||||
TotalProcessorTime = processes.ElementAt(1).TotalProcessorTime,
|
||||
WorkingSet64 = processes.ElementAt(1).WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
},
|
||||
Process3 = new
|
||||
{
|
||||
Name = processes.ElementAt(2).ProcessName,
|
||||
TotalProcessorTime = processes.ElementAt(2).TotalProcessorTime,
|
||||
WorkingSet64 = processes.ElementAt(2).WorkingSet64 / (1024 * 1024) // Convert to MB
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
return new
|
||||
{
|
||||
Usage = usage
|
||||
};
|
||||
}
|
||||
|
||||
private float GetRamUsage()
|
||||
|
||||
Reference in New Issue
Block a user