myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   klitzekleines c# programm, welches die cpu aktivität(en) ausliesst (https://mygully.com/showthread.php?t=2273277)

urga 04.04.11 20:44

klitzekleines c# programm, welches die cpu aktivität(en) ausliesst
 
da mein neues sandybridge system so prima läuft, wollte ich mal wissen wie es sich bei einigen spielen (insbes. gta 4) so schlägt.

nach nen bischen googlen hab ich mir diesen c#-code zusammengefrickelt und möchte den euch nicht vorenthalten. evntl. kann ja auch jemand von euch was damit anfangen.
ist eine einfache kommandozeilen app. am besten starten per
Code:

cpulog > muell
Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace cpulog {
        class cpulog {
                static PerformanceCounter[] cpuCounter; // globaler PerformanceCounter
                static int procCount;
                static void InitialisierePerformanceCounter () // Initialisieren
                {
                        procCount = Environment.ProcessorCount + 1;
                        cpuCounter = new PerformanceCounter[procCount];
                        for (int i = 0; i < procCount; i++) {
                                cpuCounter[i] = new PerformanceCounter ();
                                cpuCounter[i].CategoryName = "Processor";
                                cpuCounter[i].CounterName = "% Processor Time";
                                if (i == 0) {
                                        cpuCounter[0].InstanceName = "_Total"; // "_Total" entspricht der gesamten CPU Auslastung, Bei Computern mit mehr als 1 logischem Prozessor: "0" dem ersten Core, "1" dem zweiten...                                }
                                }
                                else {
                                        cpuCounter[i].InstanceName = (i - 1).ToString ();
                                }
                        }
                }

                static void GetCPUusage () // Liefert die aktuelle Auslastung zurück
                {
                        // Console.Write (cpuCounter[0].NextValue ()); return;
                        for (int i = 0; i < procCount; i++) {
                                Console.Write (cpuCounter[i].NextValue());
                                Console.Write ("\t");
                        }
                        Console.Write ("\n");
                }

                static void Main (string[] args) {
                        InitialisierePerformanceCounter (); // Initialisieren
                        // foreach (var item in new System.Management.ManagementObjectSearcher ("Select * from Win32_ComputerSystem").Get ()) { Console.WriteLine ("Number Of Physical Processors: {0} ", item["NumberOfProcessors"]); }
                        Console.WriteLine ("Number Of Logical Processors: {0}", procCount -1);
                        while (true) {
                                GetCPUusage ();    // CPU Auslastung in die Konsole schreiben
                                System.Threading.Thread.Sleep (1000); // 1 Sekunde warten
                        }
                }

        }
}



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.