caesay caesay - 12 days ago 5
C# Question

CPU/GPU Monitering. (Tempature, current speed, etc) in C#

I'm looking for a way to monitor system statistics.

Here are my main points of interest:




  • CPU Tempature

  • CPU speed (Cycles per second)

  • CPU Load (Idle percent)

  • GPU Tempature



Some other points of interest:




  • Memory usage

  • Network Load (Traffic Up/Down)



My ultimate goal is to write an application that can be used for easily running in the backround, and allow setting many events for certain actions, example:
When processer temp gets to 56C -> Do _Blank_
etc.

So this leaves me two main points.




  1. Is there a framework already out there for this sort of thing?

  2. If No to #1, How can I go about doing this?



Footnote



If the code is in another .net language it's okay.

Answer

Well, I figured out how to get my usage! 1 down, 3 to go.

CPU Usage:

using (PerformanceCounter pc = new PerformanceCounter("Processor", "% Processor Time", "_Total"))
{
    while (true)
    {
        Console.WriteLine(pc.NextValue());
        Thread.Sleep(100);
    }
}