myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

klitzekleines c# programm, welches die cpu aktivität(en) ausliesst

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 04.04.11, 20:44   #1
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard 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
			}
		}

	}
}
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


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


Sitemap

().