我是靠谱客的博主 自然小刺猬,最近开发中收集的这篇文章主要介绍如何获取机器的memory和CPU信息?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近做了一个项目,需要获取机器的CPU和memory的使用情况。花了一些时间网上搜索了一下,自己也做了些测试。总结下来,基本上2种方式:一种是用WMI(2种),另一种是用Performance counter。

1. Use WMI to create connection to the computer passing username and password. Once the connection is created, query the CPU& memory by passing the query, similar as SQL. This way can get CPU & memory for remote PC and local PC. For example:

System.Management.ConnectionOptions Conn = new ConnectionOptions();

Conn.Username = mpusername;

Conn.Password = mppwd;

string scopestring = "//" + mpserver + "/root/cimv2";

System.Management.ManagementScope Ms = new ManagementScope(scopestring);

Ms.Connect();

mos.Scope = Ms;

ObjectQuery oq = new ObjectQuery();

oq.QueryString = "select * from Win32_Processor";

mos.Query = oq;

ManagementObjectCollection moc = mos.Get();

内存这块花了比较多的时间,之前的对象已经过期,不能使用了,最后找到这个类“Win32_PerfRawData_PerfOS_Memory”

ManagementObjectCollection mcr = mcp.getQueryResult("select * from Win32_ComputerSystem");

foreach (ManagementObject mo in mcr)
{
if (mo["TotalPhysicalMemory"] != null)
{
totalm = long.Parse(mo["TotalPhysicalMemory"].ToString());
}
}
ManagementObjectCollection moc = mcp.getQueryResult("select * from Win32_PerfRawData_PerfOS_Memory");
foreach (ManagementObject mo in moc)
{
string avilable = mo.GetPropertyValue("AvailableBytes").ToString();
avilablem = long.Parse(avilable);
}

2. Get local server’s CPU and momory information passing the WMI classes, such as “Win32_Processor”, “Win32_OperatingSystem”

ManagementClass mc = new ManagementClass("Win32_OperatingSystem");

ManagementObjectCollection moc = mc.GetInstances();

3. Use performance counter to get performance data passing the performance counter name, such as monitor.PerformanceCounterFun("Processor", "_Total", "% Processor Time"). Normally we shoud get performance counter data several times, then use the average values.

虽然这些比较简单,但是自己还是想把它记录下来,希望对大家能有用!

以上就是如何获取机器的memory和CPU信息?的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是自然小刺猬为你收集整理的如何获取机器的memory和CPU信息?的全部内容,希望文章能够帮你解决如何获取机器的memory和CPU信息?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(83)

评论列表共有 0 条评论

立即
投稿
返回
顶部