问题描述
用c#获取CPU占用率
解决方案
解决方案二:
HowtogettheavailableRAMandthecpuusageinpercents?ThesemethodsareveryusefullinordertomonitorthesystemandparticularytheamountoftheavailableRAMinMB(MegaBytes)andthecpuusageinpercents./*Firstyouhavetocreatethe2performancecountersusingtheSystem.Diagnostics.PerformanceCounterclass.*/protectedPerformanceCountercpuCounter;protectedPerformanceCounterramCounter;cpuCounter=newPerformanceCounter();cpuCounter.CategoryName="Processor";cpuCounter.CounterName="%ProcessorTime";cpuCounter.InstanceName="_Total";ramCounter=newPerformanceCounter("Memory","AvailableMBytes");/*Callthismethodeverytimeyouneedtoknowthecurrentcpuusage.*/publicstringgetCurrentCpuUsage(){cpuCounter.NextValue()+"%";}/*CallthismethodeverytimeyouneedtogettheamountoftheavailableRAMinMb*/publicstringgetAvailableRAM(){ramCounter.NextValue()+"Mb";}
解决方案三:
usingSystem;namespaceConsoleApplication2{classProgram{staticvoidMain(string[]args){using(System.Diagnostics.PerformanceCounterp=newSystem.Diagnostics.PerformanceCounter("Processor","%ProcessorTime","_Total")){while(true){System.Threading.Thread.Sleep(1000);Console.WriteLine("{0}%",p.NextValue());}}Console.Read();}}}
解决方案四:
System.Diagnostics.PerformanceCounterperformanceCounter1;performanceCounter1=newSystem.Diagnostics.PerformanceCounter();performanceCounter1.CategoryName="Processor";performanceCounter1.CounterName="%ProcessorTime";performanceCounter1.InstanceName="_Total";performanceCounter1.MachineName=".";//本机performanceCounter1.NextValue();//cpu占用率