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

1.6k views Asked by At

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.

2

There are 2 answers

0
caesay On BEST 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);
    }
}
0
Jacob Seleznev On

You probably need WMI