Search code examples
c#.netsystem-monitoring

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.


Solution

  • 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);
        }
    }