获取系统的CPU使用率、内存使用率
来源:互联网 发布:秒忆卡盟主站域名大全 编辑:程序博客网 时间:2024/06/09 15:09
获取系统的性能参数,可以通过Process、PerformanceCounter或者WMI完成。
下面看看PerformanceCounter类是怎么获取的。
首先看看GetCategoryNameList()函数,这个函数是自定义的,主要用来获取本机上的计数器列表
//获取性能计数器类别列表 public static void GetCategoryNameList() { PerformanceCounterCategory[] myCat2; myCat2 = PerformanceCounterCategory.GetCategories(); for (int i = 0; i < myCat2.Length;i++ ) { Console.WriteLine(myCat2[i].CategoryName.ToString()); } }
再看另外一个函数,这个主要是获取某一个计数器下的性能计数器的名称
//获取性能计数器类别下的实例的名称实例下性能计数器的名称 public static void GetInstanceNameListAndCounterNameList(string CategoryName) { string[] instanceName; ArrayList counters = new ArrayList(); PerformanceCounterCategory mycat = new PerformanceCounterCategory(CategoryName); try { instanceName = mycat.GetInstanceNames(); if (instanceName.Length==0) { counters.AddRange(mycat.GetCounters()); } else { for (int i = 0; i < instanceName.Length;i++ ) { counters.AddRange(mycat.GetCounters(instanceName[i])); } } for (int i = 0; i < instanceName.Length;i++ ) { Console.WriteLine(instanceName[i]); } Console.WriteLine("*************************"); foreach (PerformanceCounter counter in counters) { Console.WriteLine(counter.CounterName); } } catch (System.Exception ex) { Console.WriteLine("Unable to list the counter for this category"); } }
上图就是本机的计数器名称,当然是很多的了……
上图是对应的Memory的性能计数器的名称,我们怎么获取某一个性能参数呢?
//根据categoryName ,counterName,instanceName 获得性能情况显示 private static void PerformanceCounterFun(string CategoryName, string InstanceName, string CounterName) { PerformanceCounter pc = new PerformanceCounter(CategoryName, CounterName, InstanceName); while (true) { Thread.Sleep(1000); float cpuload = pc.NextValue(); Console.WriteLine("cpu load------->" + cpuload + "%"); } }
上述的函数中,我们就可以如下的形式调用即可:
PerformanceCounterFun("Processor", "_Total", "% Processor Time");
我们就能获取处理器的CPU使用率。(这里就不贴图了)
接下来我们看看怎么通过获取内存的使用情况,这个主要是通过WMI实现的。
ManagementClass mc = new ManagementClass("Win32_OperatingSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { if (mo["TotalVisibleMemorySize"] != null) { long xx = long.Parse(mo["TotalVisibleMemorySize"].ToString()); Console.WriteLine(xx); } if (mo["FreePhysicalMemory"]!=null) { long availablebytes = long.Parse(mo["FreePhysicalMemory"].ToString()); Console.WriteLine(availablebytes); } }
上述代码就帮助我们获取到物理内存和可用内存。获取到的结果和我们使用任务管理看到的内存性能参数是一致的。
- 获取系统的CPU使用率、内存使用率
- java获取cpu使用率/内存使用率/硬盘的使用率
- java获取cpu使用率/内存使用率/硬盘的使用率
- java获取cpu使用率/内存使用率/硬盘的使用率
- 获取系统CPU 使用率
- Windows下用C语言获取系统的CPU利用率、内存使用率、硬盘使用率等
- Windows下用C语言获取系统的CPU利用率、内存使用率、硬盘使用率
- Windows下用C语言获取系统的CPU利用率、内存使用率、硬盘使用率等-转载
- Windows下用C语言获取系统的CPU利用率、内存使用率、硬盘使用率等
- 获取cpu、内存、磁盘的使用率
- 获取CPU的使用率
- 获取内存和CPU使用率
- 编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存 Nvidia GPU的利用率等
- 编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存 Nvidia GPU的利用率等
- 【Delphi】获取系统CPU使用率
- 获取linux系统CPU使用率
- [系统级] 获取CPU使用率
- 编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存等
- 面试题目20090508心灵海
- magento 客户等级自动提升并且发送邮件
- ruby文件操作大全
- Linux下crontab命令的用法
- java.lang.NullPointerException at android.widget.TabWidget.dispatchDraw(TabWidget.java:206)
- 获取系统的CPU使用率、内存使用率
- 将svn的项目导出,然后转换为maven项目
- java线程中的常用方法
- dojo显示列表 Grid Cell Store
- 使用MySQL命令行修改密码
- Maven发布配置-根据不同的环境配置生成不同环境的War包
- JavaScript中几种设计模式
- jQuery杂记
- 一个解除TCP连接的TIME_WAIT状态限制的简便方法