WMI获取远程服务器CPU,内存使用率函数详解

来源:互联网 发布:公共网络怎么改成家庭 编辑:程序博客网 时间:2024/05/20 18:45
#region WMI方式获取CPU信息        public string getCpuInfo()        {            ManagementObjectCollection moc = mcp.getQueryResult("select * from Win32_Processor");            string[] list = new string[moc.Count];            int i = 0;            foreach(ManagementObject mo  in moc)            {                    string total = mo.GetPropertyValue("LoadPercentage").ToString();                list[i]=total;                i++;            }            return list[0].ToString();        }        #endregion        #region WMI方式获取内存使用率        public string getMemoryUsage()        {            ManagementClass mc = new ManagementClass("Win32_ComputerSystem");// Win32_LogicalMemoryConfiguration已废弃            long totalm = 1; long avilablem = 1;            ManagementObjectCollection mcr = mc.GetInstances();            foreach(ManagementObject mo  in mcr)            {                if (mo["TotalPhysicalMemory"] != null)                {                    totalm = long.Parse(mo["TotalPhysicalMemory"].ToString());                }                 //string total = mo["TotalPhysicalMemory"].ToString();                //totalm = int.Parse(total);            }            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);            }            long usedm = totalm - avilablem;            double memoryusage = (double)usedm * (double)100 / (double)totalm ;            return memoryusage.ToString();        }        #endregion


源代码下载:http://download.csdn.net/detail/zhanghua9948/8364097

0 0
原创粉丝点击