static void ProcessorsInfo(/*string file*/) { string file = @"../../Processors Info.txt"; StreamWriter writer = new StreamWriter(new FileStream(file, FileMode.Create)); foreach (var elem in PCStatus.ProcessorsInfo()) { writer.WriteLine(elem.GetFields()); writer.WriteLine("---------------"); } writer.Close(); Console.WriteLine($"ProcessorsInfo() done at {Math.Round(sec, 1)} sec"); }
static void SerializedProcessorsInfo(/*string file*/) { string file = @"../../Processors Info.txt"; FileStream s1 = new FileStream(file, FileMode.Create); List <ProcessorInfo> list = PCStatus.ProcessorsInfo(); BinaryFormatter formatter = new BinaryFormatter(); using (s1) { formatter.Serialize(s1, list); } Console.WriteLine($"Serialized" + $"ProcessorsInfo() done at {Math.Round(sec, 1)} sec"); }
static void ProcessorsOverloadTracing() { PerformanceCounter pc = new PerformanceCounter("Процессор", "% загруженности процессора", "_Total"); int num = PCStatus.ProcessorsInfo()[0].CoresNumber; List <PerformanceCounter> list = new List <PerformanceCounter>(); list.Add(pc); for (int i = 0; i < num; i++) { list.Add(new PerformanceCounter("Процессор", "% загруженности процессора", i.ToString())); } while (true) { Console.Clear(); Console.WriteLine($"Процессор загружен на: {pc.NextValue()}%\r\n"); Console.WriteLine($"Ядро 0 загружено на {list[0].NextValue()}%"); Console.WriteLine($"Ядро 1 загружено на {list[1].NextValue()}%"); Console.WriteLine($"Ядро 2 загружено на {list[2].NextValue()}%"); Console.WriteLine($"Ядро 3 загружено на {list[3].NextValue()}%"); Thread.Sleep(1000); } }