https://stackoverflow.com/a/278088
var me = Process.GetCurrentProcess();Console.WriteLine("Working set {0} bytes", me.WorkingSet64);Console.WriteLine("Total CPU time {0} sec", me.TotalProcessorTime.TotalSeconds);foreach (var aProc in Process.GetProcesses())Console.WriteLine("Proc {0,30} CPU {1,-20:n} msec", aProc.ProcessName, cpu.TotalMilliseconds);foreach (var aProc in Process.GetProcesses())totalsize += aProc.WorkingSet64/1024.0;// Via garbage collector:var gcMemoryInfo = GC.GetGCMemoryInfo();gcMemoryInfo.TotalAvailableMemoryBytes;mi.TotalAvailableMemoryBytes / 1024 /102432500 // MBmi.TotalCommittedBytes / 1024 /102429 // MBmi.MemoryLoadBytes / 1024 /102418525 // MBmi.HeapSizeBytes / 1024 /102413 // MB/////////////////////////////// PerformanceCounters/////////////////////////////// Initialize like this:PerformanceCounter cpuCounter;PerformanceCounter ramCounter;cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");ramCounter = new PerformanceCounter("Memory", "Available MBytes");// Consume like this:public string getCurrentCpuUsage(){return cpuCounter.NextValue()+"%";}public string getAvailableRAM(){return ramCounter.NextValue()+"MB";}
603100cookie-checkC# .NET Get Memory + CPU info